# вы должны всегда использовать только и предупреждения для уменьшения ошибок в вашем Кодем
используйте только;
используйте предупреждения;
электронная таблица пользы:: ParseExcel;
мое %data;
# создайте предмет парсера
мо $parser = электронная таблица:: ParseExcel->new ();
# раскройте архив xls
мо $xls = $parser->parse («/var/tmp/now.xls ") или умирают $parser->error ();
# петля над всеми рабочий лист в архиве
foreach мое $sheet ($xls->worksheets ()) {
мо ($rmin, $rmax) = $sheet->row_range ();
мо ($cmin, $cmax) = $sheet->col_range ();
мое @page;
для моего $row ($rmin. $rmax) {
мое @line;
для моего $col ($cmin. $cmax) {
мо $cell = $sheet->get_cell ($row, $col);
нажмите @line, $cell->value () если определено, то ($cell);
}
# @line теперь содержит блок в настоящее время линии
нажмите @page, [@line];
}
# @page теперь содержит блок блоков всех линий на в настоящее время рабочий лист
# Кодий примера, котор нужно сделать с @page
foreach мое $line (@page) {# петля над каждой линией
# $line будет теперь arrayref
# печать каждая линия с пространствами между колонки
печать «@$line \ n»;
# более вообще, это smogло быть (и вы smogли заменить космос с):
# печать соединяет ('', @$line), «\ n»;
}
# пример конца
$data {$sheet->get_name ()} = [@page];
}
# %data теперь содержит хэш блоков блоков всех данных в Эксел
# Кодий примера (прокомментированное вне) как напечатать вне все данные для всех страниц
# foreach мое $name (ключи сортировки %data) {
# печать «рабочий лист $name \ n»;
# foreach мое $line (@ {$data {$name}}) {
# печать соединяет ('', @$line), «\ n»;
# }
#}
|