我目前在Windows中有一个perl程序,它通过Spreadsheet :: WriteExcel创建并填充excel文件,但是我希望在程序关闭时打开该文件。我尝试使用Google搜索信息,但我发现的只是如何在perl中打开和读取excel文件。有人能帮助我吗?
答案 0 :(得分: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");
答案 1 :(得分: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;
如果你最终沿着这条路走下去,here's a reference to the Excel 2007 commands。
答案 2 :(得分:-1)
以下适用于我。它不需要使用任何其他模块。
system "start excel $file";
答案 3 :(得分:-1)
您可以在Perl中使用exec命令,如下所示:
my $excel_file = "file.xlsx";
exec "cmd", "/c", "start", $excel_file;
这将打开系统中的默认程序以打开xlsx文件。 我喜欢这个选项,因为如果用户没有安装excel,只有libreoffice(例如),系统将使用libreoffice打开文件。