我正在尝试编写一个简单的perl脚本,该脚本从受密码保护的XSLX文件中读取一些字段。
我查看了Spreadsheet::XLSX和SimpleXlsx,但似乎都不支持受密码保护的文件。
知道如何做到这一点?
使用Win32 :: OLE 这样做是这样的:
my $Book =
$Excel->Workbooks->Open( { FileName => $file, Password => $password } );
答案 0 :(得分:3)
当前的Perl xlsx读取模块都不支持读取加密文件。
解密这些文件并不简单,因为加密的XML文件存储在OLE容器文档中,而不是通常的ZIP容器。
答案 1 :(得分:1)
这应该“适用”OpenOffice / LibreOffice。似乎有很多关于xlsx和加密文件支持的错误,更不用说组合了,所以我首先尝试在LibreOffice GUI中打开文件,如果这适用于您的特定文件,请通过库或命令行调用它。
OpenOffice::OODOC是Perl连接器,如果不起作用,您可以使用命令行转换为非密码保护的文件,然后在您选择的工具中打开它。