我需要將我的XLS文件與另一個文件進行比較,並相應地修改第一個(某些單元格)文件。 我需要做的是跨平臺的,所以我使用電子表格:: ParseExcel的:: SaveParserperl excel解析並修改相同的工作表
這裏是子程序我到目前爲止
sub find_occurrences
{
my $xlsname = $_[0];
my $pattern = $_[1];
my $parser = Spreadsheet::ParseExcel::SaveParser->new();
my $workbook = $parser->parse($xlsname);
my $worksheet = $workbook->worksheet(0) || die("[email protected]$!");
my ($row_min, $row_max) = $worksheet->row_range();
for my $row (0 .. $row_max) {
$cell = $worksheet->get_cell($row, 1);
next if (!$cell);
if($cell->value() =~ m/$pattern/i)
{
print "Order found ",$cell->value(),"\n";
$worksheet->AddCell($row, 1, "Shop");
}
}
}
http://search.cpan.org/~jmcnamara/Spreadsheet-ParseExcel/lib/Spreadsheet/ParseExcel/SaveParser.pm
好像例如,BU我得到這個錯誤: 在./test.pl線通過包無法找到對象的方法「AddCell」,「電子表格:: ParseExcel的::工作表」 153
正是這種一行
$ worksheet-> AddCell($ row,1,「Shop」);
我試着甚至添加
use Spreadsheet::ParseExcel::Worksheet;
use Spreadsheet::ParseExcel::Workbook;
我新的Perl和我沒能到google的東西有益。
哦謝謝!我沒有注意到這樣的錯誤:( – pugnator 2013-02-25 18:05:43
我只想添加它需要添加$ workbook-> SaveAs($ _ [0]);最後保存更改 – pugnator 2013-02-25 18:54:46