如何使用python给Excel报表文件加密码

如题,如何给Excel报表文件加密码,公司财务工资表,按个人拆分完后,对每个报表加密码,拆分已经完成了,但不知道怎么加密码。

建议看一下xlwings库,该库功能比较全,操作表格方面,api比较简单,加密只需一步,看看book类的api即可

需安装pywin32

pip install pywin32


import os, sys
import win32com.client
import time
import hashlib
 
def pwd_xlsx(old_filename,new_filename,pwd_str,pw_str=''):
    xcl = win32com.client.Dispatch("Excel.Application")
    # pw_str为打开密码, 若无 访问密码, 则设为 ''
    wb = xcl.Workbooks.Open(old_filename, False, False, None, pw_str)
    xcl.DisplayAlerts = False
 
    # 保存时可设置访问密码.
    wb.SaveAs(new_filename, None, pwd_str, '')
 
    xcl.Quit()
 
if __name__ == '__main__':
    old_filename = 'C:\\Users\\admin\Desktop\\20200805.xlsx'
    new_filename = 'C:\\Users\\admin\Desktop\\test122222.xlsx'
    pwd_str = '654321'#新密码自定义
    pwd_xlsx(old_filename,new_filename,pwd_str)

openpyxl库之文档保护学习(摘录自官方文档)_weixin_42530610的博客-CSDN博客 保护警告保护工作簿或工作表的密码仅提供了相当基本的安全性。数据未加密,因此可以使用任意数量的免费工具进行修改。实际上,该规范指出:“工作表或工作簿元素保护不应与文件安全​​性混淆。这旨在使您的工作簿免受意外修改的影响,并且不能保护其免受恶意修改。”Openpyxl支持保护工作簿和工作表不被修改。除非明确配置了其他算法,否则Open XML“传统密码哈希算法”用于生成哈希密码值。工作簿保护... https://blog.csdn.net/weixin_42530610/article/details/103751609?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-3-103751609.pc_agg_new_rank&utm_term=openpyxl+%E5%8A%A0%E5%AF%86&spm=1000.2123.3001.4430

内容加密还是文件加密

from openpyxl import Workbook
wb = Workbook()

ws=wb.worksheets[0]
ws.protection.set_password('test')
wb.save('sample.xlsx')

https://zhuanlan.zhihu.com/p/106131567?utm_source=wechat_session%ra=card

供参考:
https://blog.csdn.net/weixin_46089319/article/details/108268256