我需要将我的 XLS 文件与另一个文件进行比较,并相应地修改第一个(一些单元格)文件。我需要跨平台,所以我使用 Spreadsheet::ParseExcel::SaveParser
这是我到目前为止的子程序
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("$@$!");
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
看起来像示例,但我收到此错误:无法在 ./test.pl 第 153 行通过包“Spreadsheet::ParseExcel::Worksheet”定位对象方法“AddCell”。
是这一行
$worksheet->AddCell( $row, 1, "Shop" );
我什至尝试添加
use Spreadsheet::ParseExcel::Worksheet;
use Spreadsheet::ParseExcel::Workbook;
我是 perl 的新手,我无法用谷歌搜索一些有用的东西。