0
我這個掙扎,有紅色的很多文章顯示它應該如何工作來修改Excel中,但我沒有成功:我嘗試使用Perl和Win32 ::奧萊
我的系統是Windows 7與Office 2016安裝並激活。 我想用一個Excel文件作爲模板進行修改並將其保存到一個新的位置。這裏是我的代碼:
sub ExcelWriter {
my $Template = "../templates/template.xls";
my $ExcelFile = $MyOutDir."New_Excel_File.xls";
my $Excel = new Win32::OLE('Excel.Application');
if (-f $Template) {
my $WorkBook = $Excel->Workbooks->Open($Template);
my $WorkSheet = $WorkBook->Worksheets('Overview');
$WorkSheet->Cells(5,3)->{Value} = $Customer;
$WorkBook->SaveAs($ExcelFile);
$WorkBook->Close();
undef $WorkBook;
undef $Excel;
}
}
我得到「Can't call method "Worksheets" on an undefined value at...
」 當我使用「Workbooks->Add
」和「Worksheets->Add
」創建一個新的工作簿,我可以寫細胞。即使選擇工作表在這裏工作!
對於專家這似乎是顯而易見的,但我必須在這裏錯過了一些東西。我已經將我的工作簿從「.xlsx」保存到「.xls」,並刪除了所有公式等......甚至創建了一個新的空白工作簿!
謝謝您的幫助
問候 洛朗
我想我只是發現了這件事。變量$模板使用「../」,它被用Win32 :: OLE模塊來「......應用程序數據\漫遊\微軟\ Windows的」重定向 –