使用openpyxl时tabColor与保护功能的冲突问题求助
解决openpyxl中tabColor与保护功能冲突的问题
这个问题是因为openpyxl在配置工作簿/工作表保护(尤其是lockStructure)时,会重置工作表属性的相关结构,导致提前设置的tabColor被覆盖。
解决方法很简单:调整代码顺序,先完成所有保护相关的设置,最后再设置标签颜色。
修改后的代码如下:
from openpyxl import Workbook wb = Workbook() ws = wb.active for _r_ in range(1,4): ws.cell(row=_r_, column=1, value=_r_) # 先配置保护相关设置 ws.protection.sheet = True ws.protection.set_password("aze", already_hashed=False) wb.security.set_workbook_password("aze", already_hashed=False) wb.security.lockStructure = True # 最后设置标签颜色 ws.sheet_properties.tabColor = "FF7400" wb.save("output_formatted.xlsx")
这样设置后,工作表的标签颜色和保护功能就能同时生效了。
内容的提问来源于stack exchange,提问作者NBur
相关产品推荐
相关产品推荐

