我只需要在电子表格的标题行上应用保护,但同时我还想启用自动筛选
我可以做这两个基于以下代码,但它也禁用了电子表格中的单元格是空的。例如,在我附加的屏幕截图中,它不允许我编辑单元格B9
df.to_excel(writer_template, sheet_name='inputs')
worksheet = writer_template.sheets['inputs']
unlocked = workbook.add_format({'locked': False})
locked = workbook.add_format({'locked': True})
worksheet.set_column('B:G', None, unlocked)
# Turn worksheet protection on.
worksheet.protect(options={'autofilter': True})
worksheet.set_row(0, None, locked)
worksheet.set_row(1, None, locked)
worksheet.autofilter('A2:G500')
我的数据框如下所示:
发布于 2019-04-23 03:18:01
要弄清楚如何使用XlsxWriter做某事,一个好的通用方法是首先弄清楚如何在Excel中做这件事。
在Excel中,默认情况下所有单元格的locked
属性都是打开的,因此如果您“保护”工作表,那么所有单元格都将被锁定以进行编辑。要在Excel中解决此问题,您必须解锁任何您希望允许用户更改的单元格。
因此,在您的XlsxWriter示例中,您必须创建一个unlocked
格式(就像在docs中一样),并将其应用于允许用户编辑的单元格。
https://stackoverflow.com/questions/55798932
复制相似问题