马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在整理重要数据、制作模板或多人协作编辑 Excel 文件时,有些内容并不适合直接开放修改。例如,工作簿中的工作表结构必要保持不变,已经整理好的数据不希望被误删,大概只希望其他人填写指定的单元格区域。此时,我们可以使用 Excel 的掩护功能限制不必要的修改,同时保存必要的编辑权限。
借助 Python,我们能够主动化批量完成对 Excel 文件的掩护。本文将使用 Spire.XLS for Python,演示怎样掩护和排除掩护 Excel 工作簿、工作表,以及怎样设置工作表中的可编辑区域。
情况准备
在 Python 中处理 Excel 文件时,推荐使用专门的文档处理库。在本文中,我们使用 Spire.XLS for Python,它支持 Excel 工作簿、工作表、单元格等常见内容的创建、编辑、转换、加密等,并且不依赖 Microsoft Excel。
安装 Spire.XLS for Python
你可以通过 pip 直接安装:安装完成后,在 Python 步伐中导入相关模块:- from spire.xls import *
- from spire.xls.common import *
复制代码该软件还提供免费版,主要用于小型项目大概测试。
通过 Python 掩护 Excel 工作簿
工作簿掩护主要用于限制 Excel 文件结构的修改。例如,不希望其他用户随意添加、删除、移动或重定名工作表时,可以对整个工作簿进行掩护。
通过密码掩护 Excel 工作簿
工作簿掩护主要用于限制 Excel 文件结构的修改。例如,不希望其他用户随意添加、删除、移动或重定名工作表时,可以对整个工作簿进行掩护。
在 Spire.XLS 中,我们主要使用 Workbook.Protect() 方法来设置工作簿掩护密码。设置掩护后,Excel 工作簿的结构修改会受到限制。- from spire.xls import *
- from spire.xls.common import *# 创建 Workbook 对象workbook = Workbook()# 加载 Excel 文件workbook.LoadFromFile("示例文档.xlsx")# 掩护工作簿,设置密码workbook.Protect("password-123")# 保存掩护后的文件workbook.SaveToFile("掩护工作簿.xlsx", ExcelVersion.Version2016)workbook.Dispose()
复制代码注意: 工作簿掩护主要针对工作簿结构,与 Excel 文件的打开密码并不是同一种掩护机制。
在 Python 中排除 Excel 工作簿掩护
如果后续必要重新调解工作簿结构,可以排除之前设置的掩护。我们可以通过调用 UnProtect() 方法,快速排除对 Excel 工作簿的掩护。- from spire.xls import *
- from spire.xls.common import *workbook = Workbook()# 输入 Excel 工作簿的密码workbook.OpenPassword = "password-123"# 加载受掩护的 Excel 文件workbook.LoadFromFile("掩护工作簿.xlsx")# 排除掩护workbook.UnProtect()# 保存排除掩护后的文件workbook.SaveToFile("排除掩护工作簿.xlsx", ExcelVersion.Version2016)workbook.Dispose()
复制代码 在 Python 中使用密码掩护 Excel 工作表
如果只必要限制某个工作表的编辑,可以单独掩护这个工作表,从而避免影响其他工作表。这种方式适合包含多个工作表的 Excel 文件,例如只掩护盘算结果表,而保存其他页面的正常编辑权限。
通过密码掩护 Excel 工作表
如果只必要限制某个工作表的编辑,可以单独对该工作表设置掩护。例如,对于包含重要数据或盘算结果的工作表,可以限制用户对其中内容的修改。
使用 Spire.XLS 掩护工作表时,主要使用 Protect() 设置掩护密码和掩护权限。其中,SheetProtectionType 可以用于指定工作表允许实行的操作;我们可以使用 SheetProtectionType.none 表示不授予额外操作权限。- from spire.xls import *
- from spire.xls.common import *# 创建 Workbook 对象workbook = Workbook()# 加载 Excel 文件workbook.LoadFromFile("示例文档.xlsx")# 获取第一个工作表worksheet = workbook.Worksheets[0]# 掩护工作表worksheet.Protect("password-permission", SheetProtectionType.none)# 保存掩护后的文件workbook.SaveToFile("掩护工作表.xlsx", ExcelVersion.Version2016)workbook.Dispose()
复制代码 3.2 掩护工作表并设置可编辑区域
有些表格并不必要完全禁止编辑。例如,表格中的固定数据必要掩护,但又必要让用户填写姓名、联系方式或其他信息。这时,可以先使用 AddAllowEditRange() 为工作表设置允许编辑的区域,再通过 Protect() 掩护整个工作表。这样,指定区域仍可以编辑,而其他区域则受到掩护。
如果必要设置多个可编辑区域,可以重复调用 AddAllowEditRange(),分别指定区域名称和单元格范围。完成区域设置后,再使用 Protect() 设置工作表掩护即可。- from spire.xls import *
- from spire.xls.common import *# 创建 Workbook 对象workbook = Workbook()# 加载 Excel 文件workbook.LoadFromFile("示例文档.xlsx")# 获取第一个工作表sheet = workbook.Worksheets[0]# 设置允许编辑的区域sheet.AddAllowEditRange("范围一", sheet.Range["A2:A4"])sheet.AddAllowEditRange("范围二", sheet.Range["A5:C6"])# 掩护工作表sheet.Protect("password-permission", SheetProtectionType.All)# 保存文件workbook.SaveToFile("允许编辑范围.xlsx", ExcelVersion.Version2016)workbook.Dispose()
复制代码 3.3 排除 Excel 工作表掩护
当受掩护的工作表必要重新编辑时,可以使用 Unprotect() 排除掩护。加载 Excel 文件后,获取必要排除掩护的工作表,并调用 Unprotect(),同时传入设置掩护时使用的密码。排除掩护后,再将文件保存为新的 Excel 文档即可。- from spire.xls import *
- from spire.xls.common import *# 创建 Workbook 对象workbook = Workbook()# 加载受掩护的 Excel 文件workbook.LoadFromFile("掩护工作表.xlsx")# 获取第一个工作表sheet = workbook.Worksheets[0]# 排除工作表掩护sheet.Unprotect("password-permission")# 保存排除掩护后的文件workbook.SaveToFile("排除掩护工作表.xlsx", ExcelVersion.Version2016)workbook.Dispose()
复制代码 总结
Excel 文件中的差别内容每每有差别的掩护需求,有时必要掩护整个工作簿的结构,有时只必要限制某个工作表的编辑权限,还可以在掩护数据的同时,为指定区域保存填写权限。通过 Python 主动设置这些掩护规则,可以减少手动操作,尤其适合必要统一处理多个 Excel 文件的场景。借助 Spire.XLS for Python,开发者可以将这些掩护操作集成到现有的数据处理流程中,让 Excel 文件的权限管理更加高效、灵活。
免责声明:如果侵犯了您的权益,请联系站长及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金. |