参考链接
- 🍀python实现将数据写入Excel文件中
- 🍀【python3】写入excel文件(设置字体型号、边框样式、单元格对齐方式、合并单元格,列宽、行高等)
- python办公自动化(二)python写入excel内容、设置excel表格样式
- Python保留float类型小数点后3位
代码
# 1. 导入excel表格文件处理函数 import xlwt
# 2. 创建excel表格类型文件(工作簿) book = xlwt.Workbook(encoding='utf-8', style_compression=0)
# 3. 在book中建立一张sheet表单 sheet = book.add_sheet('sheetname', cell_overwrite_ok=True)
# 4. 自定义列名并写入到sheet表单中
# 5. 将数据写进sheet表单中 sheet.write(row, col, value)
# 6. 保存excel文件 book.save(save_path)
import xlwt
book = xlwt.Workbook(encoding='utf-8') # style_compression默认为0,可省略不写
sheet = book.add_sheet('sheet1', cell_overwrite_ok=True)
# --------------样式---------------- #
# 创建居中对齐格式
alignment = xlwt.Alignment()
alignment.horz = 0x02
alignment.vert = 0x01
# 初始化样式
style0 = xlwt.XFStyle()
style0.alignment = alignment
# 首行加粗、字体放大
font = xlwt.Font()
font.height = 20 * 11 # 11为字号,20为衡量单位
font.bold = True
style1 = xlwt.XFStyle()
style1.font = font
style1.alignment = alignment
# --------------------------------- #
colarr = ('', 'name', 'age', 'sex')
for i in range(len(colarr)):
sheet.write(0, i, colarr[i], style=style1)
data = [[1, '02-Cc-II-重庆长安寺(佛教会)-001.jpg', '梁思成', 98.6, '莫宗江', 96], [2, '03-Cc-IV-重庆文庙-004.jpg', '陈明达', 92.61]]
maxarr = [0, 0, 0, 0, 0, 0]
for row in range(len(data)):
for col in range(len(colarr)):
val = str(data[row][col])
sheet.write(row + 1, col, val, style=style0)
if len(val) > maxarr[col]:
maxarr[col] = len(val)
# ---------调节单元格宽度、高度---------- #
# 设置列宽,一个中文等于两个英文等于两个字符,50为字符数,256为衡量单位
# 表示第n列的宽度为50个字符
for i in range(len(colarr)):
sheet.col(i).width = (maxarr[i] + 8) * 256
for i in range(len(data) + 1):
sheet.row(i).height_mismatch = True
sheet.row(i).height = 400
book.save('result_lwd.xls')
运行结果:
- 内容全部居中
- 首行加粗、字体稍大
- 自动调节单元格宽度