python创建excel并冻结首行
python 创建xls文件后想要冻结首行,总是报错:
例如下面这样:
zipfile.BadZipFile: File is not a zip file
又或者是冻结时使用’A2’时无效
甚是头痛,故记录一下解决办法。
很简单,就是不要先保存再冻结,放在一起搞!!针对第二个问题,使用sheet.set_panes_frozen('1')
是有效的。
希望可以帮助到你( ̄▽ ̄)~*
具体代码如下:
def create_xls_and_freeze_Top_line(file_name,sheet_name):
xls=xlwt.Workbook()
sheet=xls.add_sheet(sheet_name)
# 字段名称
sheet_name=['t1','t2','t3','t4、t5']
#添加字段
for i in range(len(sheet_name)):
sheet.write(0,i,sheet_name[i])
# 添加值
for j in range(10):
for q in range(5):
sheet.write(j+1,q,'test')
# 设置冻结为真
sheet.set_panes_frozen('1')
# 水平冻结
sheet.set_horz_split_pos(1) #首行冻结
# 垂直冻结
# sheet.set_vert_split_pos(1)
xls.save(file_name)