【问题标题】:Reading password protected XLSX on linux (and windows) with Perl使用 Perl 在 Linux(和 Windows)上读取受密码保护的 XLSX
【发布时间】:2011-11-01 23:22:39
【问题描述】:

我正在尝试编写一个简单的 perl 脚本,从受密码保护的 XSLX 文件中读取一些字段。

我查看了Spreadsheet::XLSXSimpleXlsx,但似乎都不支持密码保护文件。

知道如何做到这一点吗?

使用 Win32::OLE 这样做是这样的:

my $Book =
  $Excel->Workbooks->Open( { FileName => $file, Password => $password } );

【问题讨论】:

  • 感谢您的回复,遗憾的是当时不是直截了当。幸运的是,我可以选择阅读旧式 xsl,这很简单,使用 Spreadsheet::ParseExcel。
  • 鉴于我的建议基本上是将 XLSX 转换回 XLS 以便您阅读它,我衷心同意,如果您仍然可以将文件作为旧 XLS 提供,这是一个更好的方法去。)

标签: linux perl excel


【解决方案1】:

当前的 Perl xlsx 读取模块都不支持读取加密文件。

解密这些文件并不简单,因为加密的 XML 文件存储在 OLE 容器文档中,而不是通常的 ZIP 容器中。

【讨论】:

    【解决方案2】:

    这个“应该”在 OpenOffice/LibreOffice 中是可行的。 xlsx 和加密文件支持似乎有很多错误,更不用说组合了,所以我会先尝试在 LibreOffice GUI 中打开文件,如果这适用于您的特定文件,请通过库或命令行调用它。

    OpenOffice::OODOC 是 Perl 连接器,如果这不起作用,您可以使用命令行转换为不受密码保护的文件,然后在您选择的工具中打开它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-18
      • 2018-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多