栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python openpyxl 保护Excel 表格不被修改

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python openpyxl 保护Excel 表格不被修改

背景: 工作中需要自动化生成报告的时候,如果PDF 那就还好,如果需要Excel, 那么为了防止别人误触或者修改,以保留报告的原始真实性,这时候就需要对Excel 进行保护啦!

1. 首先openpyxl 会有Protection module:

Protection — openpyxl 3.0.9 documentation

仔细查看说明文档并做尝试之后发现,里面有两个部分:

- Workbook Protection

wb.security.workbookPassword = '...'
wb.security.lockStructure = True

可以设置你的密码, 这时候excel book 的structure 会被锁住, 新增sheet 的功能不会有~

然而! 每个sheet 里面的单元格还是可以修改! 这不是我想要的!让我们再看看第二个功能:

 - Worksheet Protection

ws = wb.active
ws.protection.password = '...'

ws.protection.sheet = True
ws.protection.enable()
ws.protection.disable()

 同样,这也不是我想要的, sheet name 不能被更改,但是cell 同样可以修改。

 仔细阅读手册,也会发现, protection 的保护功能是最基本的,structure, sheet 保护。

经过一番的搜索尝试发现,如果要冻结整个cell, 可以使用 feeze_panes 功能 :

ws = wb.active
ws.protection.password = '...'
ws.freeze_panes = None

最后,祝你好运~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/928728.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号