课程名称: Python办公自动化
课程章节:第3章 xlrd+xlwt读取/写入Excel数据 3-7 3-8 3-9
课程讲师: 离岛
课程内容:
import xlwt #第一步 创建工作薄 wb = xlwt.Workbook() #第二步 创建工作表 ws = wb.add_sheet("CNY") #填充数据, 合并前两行,前六列 ws.write_merge(0, 1, 0, 5, "2019年货币兑换表") #保存 wb.save("2019-CNY.xls")
下面开始写入数据,其中需要注意的是 enumerate的用法
enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用
for key, value in enumerate(list):
#写入货币数据 data = (("01/01/2019", 123, 345, 533, 33, 22), ("02/01/2019", 22, 11, 33, 44, 55)) for i,item in enumerate(data): for j, val in enumerate(item): ws.write(i, j, val)
运行出现错误,由于我们在调用add_sheet接口时默认是不进行覆盖的如下图2
因此,我们需要调整写入的行数,进行+2处理即可
图2
#创建第二工作表 wsimage = wb.add_sheet("img") wsimage.insert_bitmap("26.bmp", 0, 0)
第二个工作表进行插入图片的操作,需要注意是24bit的bmp格式图片才可以插入成功,如果不行的话,解决方法如下
下面提示不是24深度的bmp图片,windows环境下随便软件截图然后你用系统自带的画图软件打开图片,然后另存为bmp就可以了。
#初始化样式 titlestyle = xlwt.XFStyle() titlefont = xlwt.Font() titlefont.name = "宋体" titlefont.bold = True titlefont.height = 11*20 titlefont.colour_index=1 #或者是0x08 titlestyle.font = titlefont
颜色对应的索引和值
对格式的要求如下
cellalign = xlwt.Alignment() cellalign.horz = 0x02 cellalign.vert = 0x02 titlestyle.alignment = cellalign
最后的使用是在write_merge的最后一个参数中
#填充数据, 合并前两行,前六列 ws.write_merge(0, 1, 0, 5, "2019年货币兑换表", titlestyle)
课程收获:
对格式操作的接口更加熟悉, 后面可以作出更多的需求,继续努力