Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel
在 2000 年,Takanori Kawai 和 John McNamara 编写出了 Spreadsheet::WriteExcel
和 Spreadsheet::ParseExcel
模块并将它们张贴在 CPAN 上,这两个模块使得在任何平台上从 Excel 文件抽取数据成为可能(尽管不容易)。
正如我们在稍后将看到的,如果您正在使用 Windows, Win32::OLE
仍提供一个更简单、更可靠的解决方案,并且 Spreadsheet::WriteExcel
模块建议使用 Win32::OLE
来进行更强大的数据和工作表操纵。 Win32::OLE
带有 ActiveState Perl 工具箱,可以用来通过 OLE 驱动许多其它 Windows 应用程序。请注意,要使用此模块,您仍需要在机器上安装和注册一个 Excel 引擎(通常随 Excel 本身安装)。
需要解析 Excel 数据的应用程序数以千计,但是这里有几个示例:将 Excel 导出到 CSV、与存储在共享驱动器上的电子表格交互、将金融数据移至数据库以便形成报告以及在不提供任何其他格式的情况下分析数据。
要演示这里给出的示例,必须在您的系统上安装 Perl 5.6.0。您的系统最好是最近(2000 年或以后)的主流 UNIX 安装(Linux、Solaris 和 BSD)。虽然这些示例在以前版本的 Perl 和 UNXI 以及其他操作系统中也可以使用,但是您应该考虑到您将面对那些它们无法作为练习发挥作用的情况。
Windows 示例:解析
本节仅适用于 Windows 机器。所有其它各节适用于 Linux。
在进行之前,请安装 ActiveState Perl(这里使用版本 628)或 ActiveState Komodo IDE 以编辑和调试 Perl。Komodo 为家庭用户提供一个免费许可证,您大概在几分钟之内就可以得到它。(有关下载站点,请参阅本文后面的 参考资料。)
使用 ActiveState PPM 软件包管理器安装 Spreadsheet::ParseExcel
和 Spreadsheet::WriteExcel
模块是困难的。PPM 没有历史记录,难以设置选项,帮助会滚出屏幕并且缺省方式是忽略相关性而安装。您可以从命令行输入“ppm”然后发出以下命令来调用 PPM:
|
在这种情况下,该模块的安装将失败,因为 IO::Scalar
还不可用,因此,您可能想放弃 PPM 问题的查找,而转向内置的 Win32::OLE
模块。然而,在您阅读本文时,ActiveStat