xlsxwriter:仅锁定单元格内容

时间:2020-08-19 09:46:33

标签: python xlsxwriter

我仅尝试锁定工作表中列“ B”单元格的内容。 我不知道该怎么做。

它总是锁定所有工作表-我无法添加过滤器或更改单元格的宽度/宽度...

我在此页面上提供了帮助:

XlsxWriter: lock only specific cells

我的代码:

import xlsxwriter

workbook = xlsxwriter.Workbook('protection_only_B.xlsx')
worksheet = workbook.add_worksheet()

# Create some cell formats with protection properties.
unlocked = workbook.add_format({'locked': False})
locked   = workbook.add_format({'locked': True})

# Format the worksheet to unlock all cells.
worksheet.set_column('A:XDF', None, unlocked)

# Turn worksheet protection on.
worksheet.protect()

# Write a locked and an unlocked cell.
for i in range (1, 150):
    worksheet.write('B'+str(i), 'Cell is locked', locked)

workbook.close()

1 个答案:

答案 0 :(得分:1)

这是答案的一部分:

https://xlsxwriter.readthedocs.io/worksheet.html#protect

但是我仍然无法过滤... 即使我将“自动过滤器”设为True ...

import xlsxwriter

workbook = xlsxwriter.Workbook('protection_only_B.xlsx')
worksheet = workbook.add_worksheet()

# Create some cell formats with protection properties.
unlocked = workbook.add_format({'locked': False})
locked   = workbook.add_format({'locked': True})

# Format the worksheet to unlock all cells.
worksheet.set_column('A:XDF', None, unlocked)

print("ok1")
# Turn worksheet protection on.
worksheet.protect('abc123', {
    'objects':               False,
    'scenarios':             False,
    'format_cells':          True,
    'format_columns':        True,
    'format_rows':           True,
    'insert_columns':        False,
    'insert_rows':           False,
    'insert_hyperlinks':     False,
    'delete_columns':        False,
    'delete_rows':           False,
    'select_locked_cells':   True,
    'sort':                  True,
    'autofilter':            True,
    'pivot_tables':          False,
    'select_unlocked_cells': True,
})

print("ok2")
# Write a locked and an unlocked cell.
for i in range (1, 150):
    worksheet.write('B'+str(i), 'Cell is locked', locked)

workbook.close()
相关问题