0

我正在尝试更新已经存在的 Excel 文件“Test.xls” 现在,我不想给出 Test.xls 文件的完整路径,而是想知道如何从当前目录读取 Test.xls 文件。我在 Windows 环境中使用 Eclipse。下面是我的代码:

my $Excel = Win32::OLE->GetActiveObject('Excel.Application')
|| Win32::OLE->new('Excel.Application', 'Quit');  

my $Book = $Excel->Workbooks->Open("Test.xls"); #This line throws an error but works if I give complete path name as D:/eclipse/workspace/testing/Test.xls

my $Sheet = $Book->Worksheets(1);

foreach my $data (@ifrules)
{
 $Sheet->Cells($row,$col)->{'Value'} =$data;
 $row++;
}

$Book->Close; 

我也尝试过各种选项,如./Test.xls、.\Test.xls等。

4

1 回答 1

1

根据我的发现,您可以使用它getcwd()来获取当前的工作目录。然后,您可以将其与其中的文件名连接起来,$Excel->Workbooks->Open()以给出当前目录加上文件名。

来源链接

说明:这里的基本问题是您将文件名传递给 Excel,它不知道 Perl 的当前工作目录。这就是为什么您必须找出完整路径名并将其提供给$Excel->Workbooks->Open().

于 2012-09-27T04:33:22.130 回答