python - 如何在python中读取/打开受密码保护的xlsx文件
问题描述
我使用成功解密了 xlsx 文件
cmd = "msoffcrypto-tool hello.xlsx decrypted.xlsx -p erh1"
os.system(cmd)
但是当我使用打开decrypted.xlsx
wb = load_workbook(inputFilePath, data_only=True)
我收到很少的警告和错误,但它打开得很好,我想删除这些错误
_convert 中的文件“/home/muhammadu/.local/lib/python3.8/site-packages/openpyxl/descriptors/base.py”,第 55 行 值 = 预期类型(值) ValueError:无法将字符串转换为浮点数:'(#REF!-40)' 在处理上述异常的过程中,又出现了一个异常: 回溯(最近一次通话最后): parse_formatting 中的文件“/home/muhammadu/.local/lib/python3.8/site-packages/openpyxl/worksheet/_reader.py”,第 280 行 cf = ConditionalFormatting.from_tree(element) 文件“/home/muhammadu/.local/lib/python3.8/site-packages/openpyxl/descriptors/serialisable.py”,第 87 行,在 from_tree obj = desc.expected_type.from_tree(el) 文件“/home/muhammadu/.local/lib/python3.8/site-packages/openpyxl/descriptors/serialisable.py”,第 87 行,在 from_tree obj = desc.expected_type.from_tree(el) 文件“/home/muhammadu/.local/lib/python3.8/site-packages/openpyxl/descriptors/serialisable.py”,第 87 行,在 from_tree obj = desc.expected_type.from_tree(el) 文件“/home/muhammadu/.local/lib/python3.8/site-packages/openpyxl/descriptors/serialisable.py”,第 103 行,在 from_tree 返回 cls(**attrib) __init__ 中的文件“/home/muhammadu/.local/lib/python3.8/site-packages/openpyxl/formatting/rule.py”,第 57 行 自我.val = val 文件“/home/muhammadu/.local/lib/python3.8/site-packages/openpyxl/formatting/rule.py”,第 36 行,在 __set__ super(ValueDescriptor, self).__set__(instance, value) 文件“/home/muhammadu/.local/lib/python3.8/site-packages/openpyxl/descriptors/base.py”,第 67 行,在 __set__ value = _convert(self.expected_type, value) _convert 中的文件“/home/muhammadu/.local/lib/python3.8/site-packages/openpyxl/descriptors/base.py”,第 57 行 raise TypeError('expected' + str(expected_type)) 类型错误:预期 <class 'float'> 警告(味精) /home/muhammadu/.local/lib/python3.8/site-packages/openpyxl/worksheet/_reader.py:300:用户警告:不支持数据验证扩展,将被删除 警告(味精) /home/muhammadu/.local/lib/python3.8/site-packages/openpyxl/worksheet/_reader.py:300:用户警告:不支持条件格式扩展,将被删除 警告(味精)
或者有没有其他方法可以使用 python 解密 xlsx ?我用了msoffcrypto-tool
解决方案
如果您有一行以 开头xlwb
,则应确保在其后有正确的代码。
要打开受保护的文件,您应该:
xlwb = xlApp.Workbooks.Open(filename, False, True, None, password)
这应该会奏效。
推荐阅读
- go - 如何使用编译时未知的结构处理 JSON 插件配置
- php - Docker 上的“composer install”命令失败,给出“SSL 操作失败,代码 1”错误
- linux - 如何将文件列表输入 bash 脚本
- html - 垂直和水平居中的flexbox
- azure-devops - Azure devops Server 2019 - 创建工作项状态时出错
- r - R:删除了包含缺失值的 n 行(geom_path)
- python - 如何在 pySpark 的 .when() 中使用多个 .contains()?
- mongodb - 如何手动将数据插入 mongoDB 集合
- python-3.x - tkinter 顶级菜单未随 macOS 显示
- python - Django 文件上传返回无