Вопрос : Perl - Прочитанные рядки Эксел в блок

Я играл с электронная таблица:: Модуль BasicRead и немного других без везения.  Я хочу сделать иметь сценарий прочитать архив первенствовать и parse каждый рядок в блок.  Может кто-то дать мне некоторое Кодего примера?

class=

Ответ : Perl - Прочитанные рядки Эксел в блок

Я думал комментарии в Кодем были достаточно.  Я попытаюсь объяснить более лучше.

Если вы не понимаете, котор гнездят структуры данных в perl, то я предложил бы посмотреть консультацию (я думаю одно было http://www.perltutorial.org/).

Препятствуйте мне знать если все еще что-нибыдь, котор вы не понимаете.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
# вы должны всегда использовать только и предупреждения для уменьшения ошибок в вашем Кодем
используйте только;
используйте предупреждения;
электронная таблица пользы:: 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»;
#     }
#}
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us