问题描述
我有一张Excel工作表,其中包含一些受保护的单元格。 我使用python程序编写了其他一些单元格,然后所有单元格都受到保护。 我不想保护我写的单元格。我应该怎么做? 谢谢。
wb = openpyxl.load_workbook('SecGen.xlsx')
ws = wb['5.1 Frame.Info']
cell = ws['K1']
cell.value = 'Oi,cm'
cell = ws['L1']
cell.value = 'Oj,cm'
for i in range(0,len(ori_e2k.line_se_point_list),1):
for j in range(0,len(ori_e2k.line_se_point_list[i]),1):
cell = ws.cell(row=i+2,column=j+2)
cell.value = ori_e2k.line_se_point_list[i][j]
wb.close()
解决方法
openpyxl默认启用保护。 只需禁用它即可。
import openpyxl
from openpyxl.styles import Protection,Font
...
...
wb = openpyxl.load_workbook('SecGen.xlsx')
ws = wb['5.1 Frame.Info']
font = Font(name='Calibri')
cell = ws['K1']
cell.value = 'Oi,cm'
cell.protection = Protection(locked=False)
cell.font = Font(name='Calibri')
cell = ws['L1']
cell.value = 'Oj,cm'
cell.protection = Protection(locked=False)
cell.font = Font(name='Calibri')
for i in range(0,len(ori_e2k.line_se_point_list),1):
for j in range(0,len(ori_e2k.line_se_point_list[i]),1):
cell = ws.cell(row=i+2,column=j+2)
cell.value = ori_e2k.line_se_point_list[i][j]
cell.protection = Protection(locked=False)
cell.font = Font(name='Calibri')
wb.save('SecGen.xlsx')
wb.close()