Используя Spreadsheet :: XLSX, как мне скопировать форматы с одного листа на другой? - PullRequest
1 голос
/ 31 марта 2012

Я использую Perl v5.12.3 на Mac OSX Lion. Я использую последнюю версию модуля Spreadsheet :: XLSX. Как скопировать существующие форматы строк, столбцов и ячеек из одного файла XLSX в новый файл? Для я сейчас пробую

                        my $cell = $oldWorksheet -> {Cells} [$row] [$col];
                        ...
                        $newWorksheet->write( $newWorksheetCurRow, $col, $val, $cell->{Format} )

Но это не работает. Например, цвета фона не копируются, и я даже не думаю, что «{Format}» является допустимым атрибутом ячейки.

Ответы [ 2 ]

1 голос
/ 31 марта 2012

Spreadsheet :: XLSX не читает форматы ячеек, поэтому невозможно скопировать форматирование листа таким образом.

Насколько я знаю, кроме Per32 нет никакого модуля Perl:: OLE, который читает форматирование из файла XLSX.

Я работаю над одним , но поддержка форматирования уже через несколько месяцев.

0 голосов
/ 31 марта 2012

Если это как SpreadSheet :: WriteExcel / ParseExcel, то вы должны сделать все это вручную. То есть создайте новый формат на стороне записывающего устройства, а затем скопируйте все атрибуты формата с проанализированной стороны.

...