在Python中编辑现有的xls文件而不会丢失样式/颜色

我需要修改现有的xls文件中的一个特定的工作表,然后再次保存,使用python。

通常build议的模块openpyxl和xlsxwriter不支持较老的xls格式。

我尝试使用xlrd,xlutils和xlwt的组合。 不过,我遇到了xlutils复制函数中的一个bug。 这里大概是我在做什么:

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") 

但由于复制function的一些奇怪的行为,在整个新的工作簿(原始的绿色单元格变成浅蓝色,紫色变成深蓝色)中,单元格颜色正在变化。 此外,原来的单元格注释在修改后的xls中不存在。 所以:

1)这是一个已知的错误在xlutils.copy导致细胞颜色改变? 如果是这样,是否有任何解决方法呢?

2)如何从原始的单元格评论到新的xls?