我使用openpyxl打开文件,编辑一些单元格并保存更改。 这是一个例子:
import openpyxl
book = openpyxl.load_workbook(sheet_path)
sheet = book.active
for row in range(sheet.max_row):
index = row + 1
sheet.cell(row=index, column=1).value = "something"
book.save(sheet_path)
问题是,当我保存文件时,其他单元格被修改。事实上,我的工作表中包含公式的单元格已“损坏”,文件大小大大减少,当我使用其他脚本读取工作表时,包含公式的单元格报告为空。但是当我打开工作表时,一切看起来都很正常,当我保存时,一切都被修复,文件大小恢复正常。我认为问题来自于openpyxl在保存时没有“计算”公式。这将减小文件大小并需要手动打开/保存以获得真实的单元格值。如果不彻底改变我使用的库,我找不到任何方法来解决这个问题。 任何帮助将不胜感激,谢谢!
答案 0 :(得分:1)
当openpyxl读取和写入现有公式时,将省略计算值,并且不会为新公式计算值。 openpyxl在工作簿中设置一个标志,告诉excel在加载时重新计算公式值,这就是为什么当你用excel查看它时一切正常。