Python模块之xlwt(创建excel并写入数据)的用法介绍

Python 2027℃

xlwt是python环境下新建excel并写入的数据的一个模块,简单易用,可以进行的操作有:

  • 可以创建xls格式的excel文件、工作表。
  • 在创建的工作表的指定单元格的写入数据。
  • 可以设置列宽、边框、添加链接等。
  • 可以设置文本格式、字体样式、背景颜色等。

1.安装xlwt

pip3 install xlwt

2.创建excel工作薄和工作表

#导入xlwt模块
import xlwt
#创建一个工作薄,编码默认是ASCII,为了支持中文要设置成UTF-8
wb = xlwt.Workbook(encoding="utf-8")
#创建一个工作表
sheet = wb.add_sheet('05bk测试')

3.设置列宽度

xlwt中列宽衡量单位:默认字体的1/256。xlwt的默认宽度为2960,即11个字符的宽度。所以设置列宽时一般用:width=256*20

#设置第1列列宽为20个字符
sheet.col(1).width=256*20

4.设置文本对齐方式

xlwt中先要创建的Alignment对象,再通过设置该对象属性来设置对齐方式

al = xlwt.Alignment()
al.horz = 0x02      #设置水平居中
al.vert = 0x01      #设置垂直居中
#horz属性代表水平对齐方式,vert属性代表垂直对齐方式
#horz的属性值有:0x01 左对齐、0x02 居中、0x03 右对齐
#vert的属性值有:0x00 上对齐、0x01 居中、0x02 低对齐
# 设置自动换行
al.wrap = 1
#接下来创建一个样式对象,应用上面的对齐方式即可
style = xlwt.XFStyle()
style.alignment = al
#最后写入单元格数据时指定样式即可
sheet.write(0, 0, '零五博客对齐方式', style)

5.设置字体样式

#创建字体样式对象
font = xlwt.Font()
#字体名
font.name = 'Times New Roman'
#字体大小,20为衡量单位,11为字号
font.height = 20*11
#加粗
font.bold = True
#下划线
font.underline = True
#斜体字
font.italic = True
#应用样式
style.font = font
#带样式的写入
sheet.write(1, 0, '零五博客字体', style)

6.添加链接

#文件名
file='05bk.pdf'
#文件链接
link=r"D:\{}".format(file)
#写入文件链接
#Formula后的括号中其实就是一个字符串,所以用format来占用字符
worksheet.write(2, 0, xlwt.Formula('HYPERLINK("{}";"{}")'.format(link,file)))

7.设置边框

#创建Borders对象
borders = xlwt.Borders()
#设置边线样式
borders.left = xlwt.Borders.DASHED
#边线位置:left 左、right 右、top 上、bottom 下
#边线样式:DASHED虚线、THIN实线、NO_LINE无
#应用样式
style.borders = borders
#带样式的写入
worksheet.write(3, 0, '零五博客边框', style)

8.设置背景色颜色

#创建Pattern对象
pa = xlwt.Pattern()
#设置背景颜色的模式
pa.pattern = xlwt.Pattern.SOLID_PATTERN
#设置背景颜色
pa.pattern_fore_colour = xlwt.Style.colour_map['yellow']
#常用颜色值有:black黑、white白、blue蓝、green绿、purple紫、red红、yellow黄、brown棕、orange橘、pink粉、gold金、gray25、gray40、gray50、gray80
#应用样式
style.pattern = pa
#带样式的写入
worksheet.write(4, 0, '零五博客背景', style)

9.保存excel

wb.save("零五博客原创.xls")

10.常见问题

如果出现报错:Exception: Attempt to overwrite cell: sheetname=’sheet1′ rowx=0 colx=0

#因为重复操作一个单元格导致的,需要加上:cell_overwrite_ok=True
sheet = book.add_sheet('sheet1', cell_overwrite_ok=True)

转载请注明:零五宝典 » Python模块之xlwt(创建excel并写入数据)的用法介绍