import xlsxwriter
# 示例是导出Bug相关的信息
def output_excel(): global bug_results s_date = '2021-09-10' e_date = '2021-09-20' get_bug_list(s_date=s_date, e_date=e_date) workbook = xlsxwriter.Workbook('bug_summary({}).xlsx'.format(s_date + '~' + e_date)) worksheet = workbook.add_worksheet() bold = workbook.add_format({'bold': True, 'fg_color': '#33FFFF'}) # 标题行样式:字体加粗,背景色 style_url = workbook.add_format({'color': 'blue'}) # Bug链接列样式:字体颜色 titles = ['BugId', 'Bug状态', 'Bug归属', '原因分析', '优先级', '报告人', '解决人', 'Bug描述'] worksheet.set_column(0, len(titles), 15) for index, title in enumerate(titles): worksheet.write(0, index, title, bold) # 设置标题行 row = 1 for res in bug_results: for index, value in enumerate(res): if index == 1:
# Bug链接列 worksheet.write_url(row, index, 'https://jira.xxx.cn/browse/'+value, value) worksheet.write(row, index, value, style_url) else:
# 普通文字列 worksheet.write(row, index, value) row += 1 workbook.close()
总结下,创建一个Excel文件大概是这几步:
1、创建一个工作簿
workbook = xlsxwriter.Workbook
2、创建一个工作表Sheet
worksheet = workbook.add_worksheet()
3、往工作表单元格写入内容,以及设置单元格样式
style = workbook.add_format({'bold': True, 'fg_color': '#33FFFF'})
worksheet.write(row, column, value, style) # 参数依次是行,列,值,格式
4、关闭工作簿
workbook.close()
可以看到,主要内容其实是第3步的write,通过循环处理:第几行,第几列,设置的文本是什么,格式(背景色,字体,字色,边框等)是什么样的。
常用单元格格式 bold 加粗 italic 斜体 underline 下划线 font_color 文字颜色 bg_color 单元格背景色 更多样式:Format methods and Format properties
更多详细内容可参考官方文档:https://xlsxwriter.readthedocs.io/