Моя первая работа с Perl. Я использую его, чтобы принимать данные из нескольких ячеек из одного файла Excel и помещать их в другой существующий файл Excel.Почему этот массив печатает только последний номер?
Мне удалось извлечь нужные данные из первого файла и поместить его в файл @array. Я начал новый файл, чтобы экспериментировать с записью данных в конкретные ячейки, которые мне нужны.
Проблема заключается в том, что при запуске скрипта он имеет одинаковое число во всех ячейках 18365. Хотя массивы @rows работают правильно и помещают номер в правильную ячейку, массив @revenue печатает только последний номер.
Есть ли что-то, что я пропускаю или не понимаю? Есть лучший способ сделать это? Я благодарю вас заранее.
use warnings;
use strict;
use Spreadsheet::ParseExcel;
use Spreadsheet::ParseExcel::SaveParser;
my $parser = Spreadsheet::ParseExcel::SaveParser->new();
my $workbook = $parser->Parse('xls_test.xls');
if (!defined $workbook) {
die $parser->error(), ".\n";
}
my $worksheet = $workbook->worksheet(0);
my @rows = (2, 10, 17);
my @revenue = (10200, 9025, 18365);
my $col = 2;
foreach my $rev (@revenue) {
foreach my $r (@rows) {
$worksheet->AddCell($r, $col, "$rev");
}
}
$workbook->SaveAs('xls_test.xls');
Массивы не печатают ничего. Это ваш код, который делает материал, а не массив. – simbabque