openpyxl 读公式值,并写回文件

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
百草谷居士
帖子: 3809
注册时间: 2006-02-10 16:36
系统: Mint20.3/Deepin20.6
送出感谢: 37 次
接收感谢: 46 次
联系:

openpyxl 读公式值,并写回文件

#1

帖子 百草谷居士 » 2022-10-05 16:42

使用 openpyxl 操作 xlsx 文件。
如果想读取公式值,需要在打开文件时,指定 data_only=True ,即: load_workbook(fname, data_only=True)
但在这种模式下,写回文件 save(fname)后,表格里所有的公式都不见了,全变成了值。

有什么好的方法,可以既读取公式值,又可以在写回文件时,保留原来的公式?
ubuntu 22.04 / 深度系统 20.6 / Mint 21

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
lilydjwg
论坛版主
帖子: 4236
注册时间: 2009-04-11 23:46
系统: Arch Linux
送出感谢: 12 次
接收感谢: 134 次
联系:

Re: openpyxl 读公式值,并写回文件

#2

帖子 lilydjwg » 2022-10-05 18:51

使用 win32com 来操作 Microsoft Excel 处理吧。
头像
百草谷居士
帖子: 3809
注册时间: 2006-02-10 16:36
系统: Mint20.3/Deepin20.6
送出感谢: 37 次
接收感谢: 46 次
联系:

Re: openpyxl 读公式值,并写回文件

#3

帖子 百草谷居士 » 2022-10-06 6:40

lilydjwg 写了:
2022-10-05 18:51
使用 win32com 来操作 Microsoft Excel 处理吧。
一看名字就是不支持linux的样子
ubuntu 22.04 / 深度系统 20.6 / Mint 21

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
lilydjwg
论坛版主
帖子: 4236
注册时间: 2009-04-11 23:46
系统: Arch Linux
送出感谢: 12 次
接收感谢: 134 次
联系:

Re: openpyxl 读公式值,并写回文件

#4

帖子 lilydjwg » 2022-10-06 11:04

Excel 本来就不支持 Linux 呀。
头像
astolia
论坛版主
帖子: 5963
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 1035 次

Re: openpyxl 读公式值,并写回文件

#5

帖子 astolia » 2022-10-06 13:53

百草谷居士 写了:
2022-10-05 16:42
如果想读取公式值,需要在打开文件时,指定 data_only=True ,即: load_workbook(fname, data_only=True)
一看名字就觉得奇怪,一看文档果然如此。
openpyxl.reader.excel.load_workbook(filename, read_only=False, keep_vba=False, data_only=False, keep_links=True)
data_only (bool) – controls whether cells with formulae have either the formula (default) or the value stored the last time Excel read the sheet
回复