python xlsxwriter
xlsxwriter 是python的一个用于EXCEl表格操作的库,可以用于生成表格、记录(解析)数据、设置样式,自动化报表或者其他用到Excel接入的首选,这里记录下常用的一些操作。
基本操作就是创建表格,创建sheet页,设置样式,写入数据,修正样式。
创建(打开)表格、创建sheet页
workbook = xlsxwriter.Workbook('filename.xlsx')
worksheet = workbook.add_worksheet('name')
创建单元格样式
fmt = {
'bold': True,
'text_wrap': True,
'font_size': 10,
'font_name': 'Microsoft YaHei UI',
'valign': 'vcenter'
}
common_fmt = workbook.add_format(fmt)
这样就创建了一个基本样式,倘若后续要在基础样式上增加其他样式,可以追加字典,再编译样式就OK了
A1_fmt = workbook.add_format({**fmt, **{'border': 1, 'bg_color': 'green'}})
设置列宽、行高、样式
worksheet.set_column('A:A', 35, cell_format=A1_fmt) # 设置列宽及样式
worksheet.set_row_pixels(row_num, 200) # 固定行高
写入数据、合并单元格
worksheet.write('A1', 'hello', common_fmt)
worksheet.merge_range('A2:A3', 'word', common_fmt) # 合并单元格
自由样式写入
自由样式写入,可以实现一个单元格里的不同字符呈现不同样式
red = workbook.add_format({'color': 'red', 'bold': True})
blue = workbook.add_format({'color': 'blue'})
worksheet.write_rich_string('B2', red, 'Hello', blue, 'world')
冻结首行、筛选
worksheet.freeze_panes(1, 1) # 冻结首行
worksheet.autofilter(0, 0, 10, 10) # 添加筛选