python复制excel模板并保留表格样式

需求:按照模板生成excel报表。
本地有一个模板Excel表,是xlsx格式。需要把传过来的数据,按照模板表生成新的写入数据的报表。

情况:先尝试了pandas,发现生成的新表并不会保留模板表中的样式。查了各种处理excel的库。xlrd/xlwt/xlutils/win32/openpyxl等等,都有各种各样问题。

结果:使用openpyxl读取模板表,再保存,可以完全保留样式复制模板excel,而且支持xlsx.

 import openpyxl
 df=openpyxl.load_workbook('costDay.xlsx')
 # wb=copy(df)
 df.save('de.xlsx')

其实还有个可以保留样式的方式:

from xlrd import open_workbook
df=open_workbook('costDay.xlsx',formatting_info=True)

formatting_info的参数默认是False,默认不读取表格样式。如果设置True的话就会读取样式。但很坑的一点是居然不支持xlsx,只支持xls。遂放弃。

你可能感兴趣的:(python,excel)