接上一篇xlrd、xlwt全面解决xls文件单元格格式的读取、复写之读取篇-CSDN博客 继续
3.2 xlwt 写入表头模版文件内容、格式到新文件(续上一篇xlrd、xlwt全面解决xls文件单元格格式的读取、复写之读取篇-CSDN博客)。
上一篇的def Head_Style(templ) 读取模版的表头信息函数,返回Head_lst列表,其格式Head_lst=[[内容1,(行号,列号),水平对齐方式1,字体名称1,字高1,字粗细1,字色1,底色1,(上线,下线、左线、右线),(起始行1、终止行1、起始列1、终止列1)], [内容2,(行号,列号)。。。],....]。接下来同步写入新文件相关内容和格式。只需遍历Head_lst列表分别设置即可
首先 建立一个样式对象style style = xlwt.XFStyle()。
其次 设置对齐样式。建立一个对齐对象Alignm = xlwt.Alignment();定义对齐对象,设置相关水平、垂直、自动换行对齐属性,其中垂直对齐和自动换行,考虑到没必要读取,在写入时要求统一直接设置为垂直居中对齐、且自动换行(也可先读取,再这里赋值)。水平对齐是表头的重要信息,利用读取的表头信息列表里的对齐信息head_lst[2]。head_lst[2]为上一篇读取的水平对齐样式,详见上面Head_lst[...]。设置完毕将对齐对象赋给样式对齐属性style.alignment = Alignm
# 为单元格设置水平和垂直对齐方式、自动换行
Alignm = xlwt.Alignment()
Alignm.vert = xlwt.Alignment.VERT_CENTER # 全部设置为垂直居中对齐
# Alignm.wrap = xlwt.Alignment.WRAP_AT_RIGHT # 全部设置为自动换行
Alignm.horz = head_lst[2] # 设置为水平对齐方式 1:左对齐,2:居中对齐,3:右对齐
style.alignment = Alignm # xlwt.Alignment.HORZ_CENTER
设置单元格字体样式。建立一个字体对象font = xlwt.Font();head_lst[3]字体名称,head_lst[4]字高度,head_lst[5]字加粗与否,head_lst[6] 字颜色