我需要修改现有 xls 文件中的某个特定工作表,然后使用 python 再次保存。
通常建议的模块 openpyxl 和 xlsxwriter 不支持旧的 xls 格式。
我尝试使用 xlrd、xlutils 和 xlwt 的组合。但是,我遇到了 xlutils 复制功能中的错误。这大致是我正在做的事情:
rb = xlrd.open_workbook("original.xls",formatting_info = True,on_demand=True)
# .. then some code to read in some data i need ...
wb = xlutils.copy.copy(rb) #use copy to get a xlwt workbook
sheet = wb.get_sheet(sheet_number)
#use sheet.write() to add values i need to add
wb.save("modified.xls")
但是由于复制功能的一些奇怪行为,整个新工作簿中的单元格颜色正在发生变化(原始单元格中的绿色单元格变为浅蓝色,紫色变为深蓝色)。此外,修改后的 xls 中不存在原始单元格注释。所以 :
1) 这是 xlutils.copy 中的一个已知错误,它会导致单元格颜色发生变化吗?如果是这样,是否有任何解决方法?
2) 如何从原始 xls 获取单元格注释?