如何在 Python 中使用密码保护 XLSX 文件

问题描述 投票:0回答:1

我想创建一个包含一些数据的 Excel 文件,并用密码保护整个文件,而不仅仅是工作表。 我环顾了很多地方,但没有找到一种没有像 spire.xls 包这样的付费库的方法。 由于不明原因我无法安装它。我是 Python 新手,所以这些错误超出了我的范围。 我发现了这里

python-3.x xlsx password-protection
1个回答
0
投票

好的,我明白了。感谢评论里的人。 我想要的是创建一个文件并将其复制到某个 SMB 服务器上。该文件是 XLSX,需要密码才能打开和敏感度标签。

但就这个问题而言,为了对其进行密码保护,我使用 xlswriter 创建了该文件,创建了一个普通处理程序,然后使用前一个处理程序打开了一个 OOXMLFile,对其进行了加密(这意味着添加一个密码来打开它),然后关闭原始纯文件:

import xlsxwriter
from msoffcrypto.format.ooxml import OOXMLFile

wb = xlsxwriter.Workbook(INTERMEDIATE_EXCEL_FILE)
ws = wb.add_worksheet()
ws.write_row('A1', FIELD_NAMES, cell_format=None)
r, c = 1, 0
for row in records:
    ws.write_row(r, c, row)
    r = r + 1
wb.close()
plain = open(INTERMEDIATE_EXCEL_FILE, "rb")
file = OOXMLFile(plain)
with open(EXCEL_FILENAME, "wb") as f:
    file.encrypt(EXCEL_FILE_PASSWORD, f)
plain.close()

我也用 xlwings 实现了它,但它打开文件要求我手动设置敏感度标签,这就是为什么我最终使用 openpyxl 添加标签。我 smbclient.shutil 将文件复制到共享驱动器。

© www.soinside.com 2019 - 2024. All rights reserved.