3

我目前在 Windows 中有一个 perl 程序,它通过 Spreadsheet::WriteExcel 创建和填充一个 excel 文件,但我希望在我的程序关闭时打开该文件。我尝试用谷歌搜索信息,但我发现的只是如何在 perl 中打开和读取 excel 文件。有人可以帮助我吗?

4

4 回答 4

3

我推荐这个:

`your_file.xls`;

它只是执行系统命令。假设 Excel 文件设置为默认使用 Excel 打开,这将起作用(根据您的设置,可能需要也可能不需要添加文件的完整路径)。

其他选项:

system("your_file.xls");
`C:\\Program Files\\...\\excel.exe your_file.xls`;
system("C:\\Program Files\\...\\excel.exe your_file.xls");
于 2012-08-15T14:49:35.287 回答
2

我会为此使用Win32::OLE。OLE 是可用于执行应用程序任务的 Office 扩展。这个例子应该可以工作(我没有测试过):

use strict;
use warnings;
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Excel';
my $excel = Win32::OLE->GetActiveObject('Excel.Application')
  || Win32::OLE->new( 'Excel.Application', 'Quit' );
$excel->{Visible} = 1;

如果您最终走这条路,这里是对 Excel 2007 命令的参考

于 2012-08-15T14:42:30.687 回答
-1

以下对我有用。它不需要使用任何额外的模块。

system "start excel $file";
于 2017-12-24T18:35:07.060 回答
-1

你可以像这样在 Perl 中使用 exec 命令:

my $excel_file = "file.xlsx";
exec "cmd", "/c", "start", $excel_file;

这将打开系统中的默认程序以打开 xlsx 文件。我喜欢这个选项,因为如果用户没有安装 excel,只安装 libreoffice(例如),系统将使用 libreoffice 打开文件。

于 2018-06-05T14:36:40.350 回答