Я новичок в Perl, пожалуйста, поддержите меня, если он очень базовый c. Приведенный ниже код прекрасно работает, копируя в Excel значение в другое. У меня проблемы с копированием формата. Мне нужно скопировать значение формата из файла чтения, а затем назначить его для записи. Ячейка - это переменная, которую нужно изменить.
Код: -
#!/home/utils/perl-5.24/5.24.2-058/bin/perl -w
use warnings;
use Spreadsheet::XLSX;
use Excel::Writer::XLSX;
#reading the sheet using below perl parser
my $excel = Spreadsheet::XLSX -> new ('abcd.xlsx');
#writing the sheet using below parser
my $excel_2 = Excel::Writer::XLSX -> new ('abcd_N.xlsx');
my $format = $excel_2->add_format();
#loop to read the hseet and write
foreach my $sheet (@{$excel -> {Worksheet}})
{
printf("Sheet: %s\n", $sheet->{Name});
my $sheet_write = $excel_2->add_worksheet($sheet->{Name});
$sheet -> {MaxRow} ||= $sheet -> {MinRow};
foreach my $row ($sheet -> {MinRow} .. $sheet -> {MaxRow})
{
$sheet -> {MaxCol} ||= $sheet -> {MinCol};
foreach my $col ($sheet -> {MinCol} .. $sheet -> {MaxCol})
{
my $cell = $sheet -> {Cells} [$row] [$col];
if ($cell)
{
printf("( %s , %s ) => %s\n", $row, $col, $cell -> {Val});
$sheet_write->write($row, $col,$cell -> {Val},$self);
}
}
}
}