解释
真的我也不想再发 生成excel的文章了�,不过好东西就是要不断地去发掘,在分享出来,别人才知道前人踩过的坑,好及时避免�
为什么使用xlsxwriter
我把所有Python生成Excel的库基本都看了,推荐使用xlsxwriter,格式齐全,样式齐全,文档棒,生态好!
问题
有一个问题就是设置行高为15就不生效,大于15或小于15就行,部分字体有效,部分字体无效,我怀疑是地区的问题,不过我们可以换一个角度去解决这个问题,我在GitHub提了问题,作者以及他们团队再第二天就有回复,这点也说明生态好,在此再次感谢 @jmcnamara Thanks You John McNamara
文档
安装
pip install XlsxWriter
实例
import xlsxwriter
import json
import sys
# 生成保存excel文件
def save_excel(data, path, filename):
try:
workbook = xlsxwriter.Workbook(path + filename)
worksheet = workbook.add_worksheet("Sheet1")
# 页眉页脚
worksheet.set_header("", {"margin": 0.1})
worksheet.set_footer("", {"margin": 0.1})
# 列宽
worksheet.set_column("A:J", 4.67)
# 页边距
worksheet.set_margins(left=0.3, right=0.3, top=0.61, bottom=0.37)
# 水平对中打印页面
worksheet.center_horizontally()
# 设置纸张大小
worksheet.set_paper(11)
# 样式1
style1 = workbook.add_format({"bold": True, "font_size": 15, "font_name": "黑体", "border": 1, "border_color": "black"})
style1.set_align("center") # 水平对齐
style1.set_align("vcenter") # 垂直对齐
style1.set_text_wrap() # 内容换行
# 样式2
style2 = workbook.add_format({"bold": True, "font_size": 8, "font_name": "Arial", "border": 1, "border_color": "black"})
style2.set_align("center") # 水平对齐
style2.set_align("vcenter") # 垂直对齐
style2.set_text_wrap() # 内容换行
# 样式3
style3 = workbook.add_format({"bold": True, "font_size": 7, "font_name": "黑体", "border": 1, "border_color": "black"})
style3.set_align("center") # 水平对齐
style3.set_align("vcenter") # 垂直对齐
style3.set_text_wrap() # 内容换行
# 样式4
style4 = workbook.add_format({"bold": False, "font_size": 8, "font_name": "Arial", "border": 1, "border_color": "black"})
style4.set_align("vcenter") # 垂直对齐
style4.set_text_wrap() # 内容换行
# 样式5
style5 = workbook.add_format({"bold": False, "font_size": 7, "font_name": "黑体", "border": 1, "border_color": "black"})
style5.set_align("center") # 水平对齐
style5.set_align(