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, "ショップ" );
私も追加しようとしました
use Spreadsheet::ParseExcel::Worksheet;
use Spreadsheet::ParseExcel::Workbook;
私はperlが初めてで、何か役立つことをグーグルで検索できませんでした。