写入Excel

我正在testing如何填写信息到我的Excel表格,并写了一个简单的testing程序

use Win32::OLE qw(in); use Win32::OLE::Const "Microsoft Excel"; $Win32::OLE::Warn = 3; my $excel = Win32::OLE->new("Excel.Application", "Quit"); my $book = $excel->Workbooks->Add(); my $sheet = $book->Worksheets(1); my $range = $sheet->Range($sheet->Cells(1,1), $sheet->Cells(5,5)); my $mat = $range->{Value}; $mat[1][1] = "x"; #for my $row (@$mat){ # print "$i\n"; # for my $cel (@{$row}){ # $cel = "x"; # } #} $range->{Value} = $mat; my $fso = Win32::OLE->new("Scripting.FileSystemObject"); my $map = $fso->GetAbsolutePathName("."); my $padnaam = $map . "\\test.xlsx"; $book->SaveAs($padnaam); 

当我使用注释掉的代码时,有一个很好的“x”平方,但是当我试图通过索引分配一个x时,什么都不出现。 我猜测我没有正确引用数组,但是在查看perlreftut和所有关于二维数组的问题之后,我无法弄清楚应该使用的正确序列。

那么,我怎样才能通过索引增加值的范围?

$ mat是一个数组引用。 您需要解除引用:

 $$mat[1][1] = "x";