我仍在学习Perl,并且正在尝试执行以下任务 - 并且很悲惨地卡住了。Perl如何在Excel文件中操作多个工作表?
目前我有以下。
- 打开必要的Excel文件
- 存储工作簿的下VAR信息
$workbook1
- 商店工作表下的VAR
$worksheets1
my $excel = Win32::OLE -> new("Excel.Application");
$excel->{Visible} = 0;
$excel->{DisplayAlerts}=0;
$excel->{SheetsInNewWorkbook} = 1;
my $workbook1 = $excel->Workbooks->Open($OutFileName);
my $worksheet1 = $workbook1->Worksheets(1);
信息后,我利用这个信息,并有Perl写入Excel文件的单元格中(必要的相应地初始化和$Col
)。
$worksheet1->Cells($Row, $Col)->{'Value'} = $var1;
$worksheet1->Cells($Row, $Col+1)->{'Value'} = $var2;
$worksheet1->Cells($Row, $Col+2)->{'Value'} = $var3;
$worksheet1->Cells($Row, $Col+3)->{'Value'} = $var4;
到目前为止,这工作正常。 我打算做的是在多个工作表上操作,而不是一个。
- 打开必要的Excel文件 下变量$ workbook1
- 商店Wortsheets下VAR(S)$ worksheets1,$ worksheets2,$ worksheets3,$ worksheets4,$ worksheets5信息(或存储
- 存储工作簿的信息如果可能,它变成一个数组?)
我总共有5个工作表,我需要在Excel文件中进行操作。我试图为每个工作表循环后面的过程(在单元格中写),但我试图找到一个更简单的方法来调用$ worksheet1,$ worksheet2,...,$ worksheet5变量。 Cuz,现在没有适当的数组变量 - 我还没有学会如何在Perl中 - 我需要为每个循环做一个if语句并编写相应的代码,这是非常无效的。有没有办法用数组或其他工作表变量执行此操作?
我更熟悉Matlab是如何工作的......这里是我想让Perl做的事情,如果它是一个带有数组的Matlab脚本。
for i = 1:num_worksheets
# write in worksheet[i] cell (j,k) with variable var1
end
这个问题只是“*如何在Perl中使用数组?”? – melpomene
使用数组我知道了,但是在使用excel命令实现它时会发生奇怪的错误。我想知道是否有一个不同的方式来使用该数组与excel命令如何工作 –
你的代码是什么?什么是错误? – melpomene