Python之利用第三方库套用excel模板,模板的样子假设如下:
现在要用这个模板,并且在“第二行第二列”的下方填入内容:
#!usr/bin/python3
from xlutils.copy import copy #注意xlutils所用格式是xls
import xlrd
import xlwt
#找到要套用的excel模板并且用xlrd打开,formatting_info=True表示照搬格式;
tem_excel = xlrd.open_workbook("template.xls", formatting_info=True); #这里的formatting_info=True必须使用xls格式,而且是正规的xls格式,不是拿个xlsx文件改成xls.
#找到需要的工作表,以索引的方式
tem_sheet = tem_excel.sheet_by_index(0)
#新建一个工作簿,并拷贝前面打开的工作簿
new_excel = copy(tem_excel)
#在新的工作簿里新建工作表
new_sheet = new_excel.get_sheet(0)
#在新的工作表里写入内容,默认是是使用表格的初始格式,也就是不套用模板
new_sheet.write(2,1,12) #在表的第三行第二列写入数字12[打开表格会发现并没有套用格式]
new_sheet.write(3,1,18) #在表的第四行第二列写入数字18[打开表格会发现并没有套用格式]
new_sheet.write(4,1,19) #在表的第五航第二列写入数字19[打开表格会发现并没有套用格式]
new_sheet.write(5,1,15) #在表的第六航第二列写入数字15[打开表格会发现并没有套用格式]
new_excel.save('test.xls') #将工作簿保存到指定位置;
'''
#鉴于上述写入并没有套用我们想要的格式,我们人工设置他们的格式.
#新建样式开始
'''
style = xlwt.XFStyle() #初始化自定义格式,空样式
font = xlwt.Font() #初始化字体
font.name = "微软雅黑" #设置字体名称
font.bold = True #设置字体加粗
font.height = 360 #字体大小的高度是字号乘以20,这里设置的是18号字体
style.font = font #将字体样式添加到空样式style里
#新建边框样式
borders = xlwt.Borders() #初始化单元格边框
borders.top = xlwt.Borders.THIN #上,THIN代表是细线,也可以设置为粗线等样式
borders.bottom = xlwt.Borders.THIN #下
borders.left = xlwt.Borders.THIN #左
borders.right = xlwt.Borders.THIN #右
style.boders = borders #将边框样式添加到style样式
#新建对齐样式
alignment = xlwt.Alignment() #初始化对齐样式
alignment.horz = xlwt.Alignment.HORZ_CENTER #水平中心对齐
alignment.vert = xlwt.Alignment.VERT_CENTER #垂直中心对齐
style.alignment = alignment #将对齐样式添加到style样式
#开始写入数据到表格并附带样式
new_sheet.write(2,1,12,style); #将样式应用到单元格2,1,也就是第三行第二列,并附带样式style
new_sheet.write(3,1,12,style); #将样式应用到单元格3,1,也就是第四行第二列,并附带样式style
#保存数据
new_excel.save('20200926.xls');
样式效果如下:
有几点注意:
手机扫一扫
移动阅读更方便
你可能感兴趣的文章