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()、現在のディレクトリとファイルの名前を与えることができます。

ソースリンク

説明:ここでの基本的な問題は、Perl の現在の作業ディレクトリを知らない Excel にファイル名を渡していることです。そのため、フル パス名を見つけて に指定する必要があります$Excel->Workbooks->Open()

于 2012-09-27T04:33:22.130 に答える