通过openpyxl python脚本保存时,Excel工作表中的公式将被删除。
有什么方法可以保存excel文件,而无需使用python脚本删除公式
预期:不应删除公式,而应该通过openpyxl lib读取数据
实际:已读取数据,但公式已被删除
答案 0 :(得分:0)
如果您使用data_only = True
作为参数读取文件,则会从公式而不是公式中读取值。
来自docs
data_only 控制具有公式的单元格是否具有公式(默认值)或上一次Excel读取工作表时存储的值。
答案 1 :(得分:0)
通过xlswings,此问题已解决
答案 2 :(得分:-1)
我能够为我的任务成功解决此问题。
首先不要使用data_only
参数。仅使用-定义Excel和工作表
例如:
exl = openpyxl.load_workbook(exlFile)
sheet = exl["Sheet1"]
现在再次使用data_only=true
定义相同的excel
exl1 = openpyxl.load_workbook(exlFile, data_only=True)
sheet1 = exl1["Sheet1"]
现在,当从excel读取数据时,在写回excel时使用sheet1
,请使用工作表。
另外,在保存工作簿时,请使用exl.save(exlFile)
代替exl1.save(exlFile)
有了这个,我得以保留所有公式,还可以更新所需的单元格。 让我知道这是否足够或需要更多信息。