【Python】使用python 对excel文件进行加密

embedded/2025/1/16 22:05:34/

最近在跟同事对接工作的时候,我需要把Excel文件发给对方。

但是由于文件内容的私密性,需要对Excel文件进行加密,保护文件以免给第三方看到,保障数据的安全。

在这里插入图片描述
在Python中,有多种方法可以对Excel文件进行加密。以下是几种常用的方法:

方法一:

使用pywin32库(仅限Windows)
pywin32库可以调用Windows的COM接口来操作Excel文件,包括加密。

代码:

python">import win32com.clientdef encrypt_excel(file_path, password):excel = win32com.client.Dispatch("Excel.Application")excel.Visible = Falseexcel.DisplayAlerts = Falseworkbook = excel.Workbooks.Open(file_path)workbook.SaveAs(file_path, None, password)workbook.Close()excel.Quit()# 加密Excel文件
encrypt_excel('C:/Users/Desktop/新建 XLSX 工作表.xlsx', '123456')

方法二:使用msoffcrypto-tool

msoffcrypto-tool是一个专门用于加密和解密Microsoft Office文件的库,也可以使用它来做文件的加密。

代码:

python">import msoffcrypto
import io# 打开Excel文件
Excel_file='C:/Users/Desktop/新建 XLSX 工作表.xlsx'
with open(Excel_file, 'rb') as file:encrypted = io.BytesIO()office_file = msoffcrypto.OfficeFile(file)office_file.load_key(password='your_password')office_file.encrypt(encrypted)encrypted.seek(0)with open(Excel_file, 'wb') as encrypted_file:encrypted_file.write(encrypted.read())

方法三:使用openpyxl

openpyxl是一个常用的库,用于操作Excel文件。虽然它本身不直接支持加密,但可以结合其他方法实现加密功能。

代码:

python">from openpyxl import load_workbook# 加载Excel文件
Excel_file='C:/Users/Desktop/新建 XLSX 工作表.xlsx'
workbook = load_workbook(Excel_file)# 设置加密密码
password = "your_password"# 加密Excel文件
workbook.security.workbookPassword = password
workbook.security.lockStructure = True# 保存加密后的文件
workbook.save(Excel_file)

注意事项

  • 安全性:确保使用的密码足够复杂,以防止被轻易破解。

  • 依赖安装:在使用上述方法之前,需要先安装相应的Python库。例如,使用openpyxl需要运行pip install openpyxl,使用msoffcrypto-tool需要运行pip install msoffcrypto-tool,使用pywin32需要运行pip install pywin32

通过以上方法,你可以根据自己的需求和环境选择合适的工具来加密Excel文件,从而保护文件中的敏感数据。

在这里插入图片描述

那么,以上哪种加密的方法保密性比较强呢?

对于需要高数据安全性的场景,推荐使用msoffcrypto-tool

pywin32库(Windows环境下)。

因为这两种方法的原理是利用强加密算法(如AES)来保护Excel文件,保密性都比较强。


http://www.ppmy.cn/embedded/154492.html

相关文章

学习华为熵减:激发组织活力(系列之三)

目录 为什么学习华为? 学习华为什么? 一、势:顺势而为,在风口上猪都会飞起来。 二、道:就是认识和利用规律层面,文化和制度创新就是企业经营之道。 三、法:就是一套价值管理的变革方法论。…

30_Redis哨兵模式

在Redis主从复制模式中,因为系统不具备自动恢复的功能,所以当主服务器(master)宕机后,需要手动把一台从服务器(slave)切换为主服务器。在这个过程中,不仅需要人为干预,而…

yt-dlp脚本下载音频可选设置代理

import yt_dlp# 配置:是否使用代理 use_proxy = True # 设置为 False 可关闭代理# 代理地址 proxy_url = socks5://127.0.0.1:1089URLS = [https://www.bilibili.com/video/BV1WTktYcEcQ/?spm_id_from=333.1007.tianma.6-2-20.click&vd_source=dcb58f8fe1faf749f438620b…

python 爬虫自动获取 GB/T 7714 引用格式

python 自动获取 GB/T 7714 引用格式 参考:python爬虫实现自动获取论文GB 7714引用 介绍:从 Google Scholar 网站(具体为 https://xueshu.aigrogu.com/)收集文章信息,包括文章标题、链接和 GB/T 7714 引用格式。该代码…

【2025 Rust学习 --- 17 文本和格式化 】

字符串与文本 Rust 的主要文本类型 String、str 和 char 内容概括: Unicode 背景知识?单个 Unicode 码点的 char?String 类型和 str 类型都是表示拥有和借用的 Unicode 字符序列。Rust 的字符串格式化工具,比如 println! 宏和 …

Qt/C++进程间通信:QSharedMemory 使用详解(附演示Demo)

在开发跨进程应用程序时,进程间通信(IPC)是一个关键问题。Qt 框架提供了多种 IPC 技术,其中 QSharedMemory 是一种高效的共享内存方式,可以实现多个进程之间快速交换数据。本文将详细讲解 QSharedMemory 的概念、用法及…

用 Python 自动化处理日常任务

💖 欢迎来到我的博客! 非常高兴能在这里与您相遇。在这里,您不仅能获得有趣的技术分享,还能感受到轻松愉快的氛围。无论您是编程新手,还是资深开发者,都能在这里找到属于您的知识宝藏,学习和成长…

使用 selenium-webdriver 开发 Web 自动 UI 测试程序

优缺点 优点 有时候有可能一个改动导致其他的地方的功能失去效果,这样使用 Web 自动 UI 测试程序可以快速的检查并定位问题,节省大量的人工验证时间 缺点 增加了维护成本,如果功能更新过快或者技术更新过快,维护成本也会随之提高…