Perl 在没有Office的情况下使用Win::OLE打开文件

Perl 在没有Office的情况下使用Win::OLE打开文件,perl,win32ole,Perl,Win32ole,我正在使用解析Excel文件中的。我无法在我的计算机上使用Microsoft Office,因此我安装了Excel Viewer 下面是我用来初始化OLE的代码 my $Excel = Win32::OLE->new('Excel.Application') or die "oops\n"; 请提出一些解决方法。如何通过Excel Viewer新建它?Excel Viewer无法编写脚本/自动执行。根据您真正想要做的事情,您可以选择: 使用 可能通过DBI使用 如果您需要的不仅仅是数据访

我正在使用解析Excel文件中的。我无法在我的计算机上使用Microsoft Office,因此我安装了Excel Viewer

下面是我用来初始化OLE的代码

my $Excel = Win32::OLE->new('Excel.Application') or die "oops\n";

请提出一些解决方法。如何通过Excel Viewer新建它?

Excel Viewer无法编写脚本/自动执行。根据您真正想要做的事情,您可以选择:

使用 可能通过DBI使用 如果您需要的不仅仅是数据访问,请安装并使用/。看见
根据需要检查的特殊属性,以CSV格式导出文件并编写Perl程序以使用我正在解析Excel文件来处理这些文件就足够了。我不能手动操作。@Bordin:具体来说,就是解析.xls、.xlsx文件。openoffice有一个OLE API。你能安装它吗?我很惊讶一些程序员所忍受的限制。“我必须用Perl编写一个程序来拯救世界,”他们说,“但我不允许使用键盘。”安装OpenOffice后我可以使用Win32::OLE吗?@Ankul-是的,但请参见,例如,以了解脚本接口之间的差异。您应该发布包含一些详细信息的真实任务,以获得更具体的答案。我正在将Excel.xls、.xlsx文件转换为.csv文件。由于文件包含~10k行,所以命令提示符下会出现memoryoutofbound错误,但我想用cell_处理程序解决此问题。但对于少数excel文件,单元格处理程序会跳过包含表格的excel文件的最后一行。但在文件末尾添加一行可以解决问题。为了使其正常工作,必须在最后追加新行。目前使用OLE,但在我们的生产系统上不会安装MSOffice。因此,我想使用其他一些选项,使用OLE而不会对脚本进行太多更改。