锁定单元格通常用于保护电子表格中特定单元格范围的内容免受意外修改,这在共享工作表或保护特定数据的情况下非常有用。当您锁定一个单元格时,除非其他人知道密码或具有适当的权限,否则无法编辑该单元格。这个功能对于数据安全和完整性非常重要。本文将介绍如何使用 Spire.XLS for Python 在 Python 中锁定 Excel 文档中特定的单元格、列或行。
安装 Spire.XLS for Python
本教程需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.XLS
如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python
Python 锁定 Excel 文档中特定的单元格
Spire.XLS for Python 支持用户通过将 Worksheet.Range[].Style.Locked 属性设置为"True"来锁定指定范围的单元格。以下是详细步骤:
- 创建一个 Workbook 实例,并使用 Workbook.LoadFromFile() 方法加载一个示例 Excel 文件。
- 使用 Workbook.Worksheets[] 属性获取第一个工作表。
- 通过将 Worksheet.Range.Style.Locked 属性设置为"False"来解锁工作表中所使用范围内的所有单元格。
- 通过将 Worksheet.Range[].Style.Locked 属性设置为"True"来锁定这些单元格。
- 使用 Worksheet.Protect() 方法保护工作表。
- 使用 Workbook.SaveToFile() 方法保存结果文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建一个新的工作簿对象
workbook = Workbook()
# 从文件加载工作簿
workbook.LoadFromFile("示例.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 设置整个工作表的样式为可编辑
sheet.Range.Style.Locked = False
# 锁定 A1 单元格,使其不可编辑
sheet.Range["A1"].Style.Locked = True
# 锁定 C1 到 E3 区域的单元格,使其不可编辑
sheet.Range["C1:E3"].Style.Locked = True
# 使用密码保护工作表,密码为 "123456",保护所有操作
sheet.Protect("123456", SheetProtectionType.All)
# 将更改保存到新的 Excel 文件中,文件格式为 Excel 2016 版本
workbook.SaveToFile("锁住特定的单元格.xlsx", ExcelVersion.Version2016)
# 释放工作簿对象的资源
workbook.Dispose()
Python 锁定 Excel 文档中特定的列
如果要锁定工作表中的特定列,请将 Worksheet.Columns[].Style.Locked 属性设置为"True"。其他步骤与上述方法类似。以下是详细步骤:
- 创建一个 Workbook 实例,并使用 Workbook.LoadFromFile() 方法加载一个示例 Excel 文件。
- 使用 Workbook.Worksheets[] 属性获取第一个工作表。
- 通过将 Worksheet.Range.Style.Locked 属性设置为"False"来解锁工作表中所使用范围内的所有单元格。
- 通过将 Worksheet.Columns[].Style.Locked 属性设置为"True"来锁定该列。
- 使用 Worksheet.Protect() 方法使用密码保护工作表。
- 使用 Workbook.SaveToFile() 方法保存结果文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建一个新的工作簿对象
workbook = Workbook()
# 从文件加载工作簿
workbook.LoadFromFile("示例.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 设置整个工作表的样式为可编辑
sheet.Range.Style.Locked = False
# 锁定第四列(索引从0开始)的所有单元格,使其不可编辑
sheet.Columns[3].Style.Locked = True
# 使用密码保护工作表,密码为 "123456",保护所有操作
sheet.Protect("123456", SheetProtectionType.All)
# 将更改保存到新的 Excel 文件中,文件格式为 Excel 2016 版本
workbook.SaveToFile("锁住特定的列.xlsx", ExcelVersion.Version2016)
# 释放工作簿对象的资源
workbook.Dispose()
Python 锁定 Excel 文档中特定的行
类似地,如果要锁定特定的行,请将 Worksheet.Rows[].Style.Locked 属性设置为"True"。以下是详细步骤:
- 创建一个 Workbook 实例,并使用 Workbook.LoadFromFile() 方法加载一个示例 Excel 文件。
- 使用 Workbook.Worksheets[] 属性获取第一个工作表。
- 通过将 Worksheet.Range.Style.Locked 属性设置为"False"来解锁工作表中所使用范围内的所有单元格。
- 通过将 Worksheet.Rows[].Style.Locked 属性设置为"True"来锁定该行。
- 使用 Worksheet.Protect() 方法使用密码保护工作表。
- 使用 Workbook.SaveToFile() 方法保存结果文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建一个新的工作簿对象
workbook = Workbook()
# 从文件加载工作簿
workbook.LoadFromFile("示例.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 设置整个工作表的样式为可编辑
sheet.Range.Style.Locked = False
# 锁定第三行(索引从0开始)的所有单元格,使其不可编辑
sheet.Rows[2].Style.Locked = True
# 使用密码保护工作表,密码为 "123456",保护所有操作
sheet.Protect("123456", SheetProtectionType.All)
# 将更改保存到新的 Excel 文件中,文件格式为 Excel 2016 版本
workbook.SaveToFile("锁住特定的行.xlsx", ExcelVersion.Version2016)
# 释放工作簿对象的资源
workbook.Dispose()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。