Pergunta : Perl - Ler fileiras de Excel em uma disposição

Eu tenho jogado com Spreadsheet:: Módulo de BasicRead e algum outro sem a sorte.  O que eu quero fazer é mandar o certificado ler uma lima primar e analisar gramaticalmente cada fileira em uma disposição.  Pode alguém dar-me algum código do exemplo?

class= do

Resposta : Perl - Ler fileiras de Excel em uma disposição

Eu pensei que os comentários no código eram suficientes.  Eu tentarei explicar melhor.

Se você não compreende estruturas de dados aninhadas no Perl, eu sugeriria olhar um curso (eu penso que um era http://www.perltutorial.org/).

Deixar-me saber se há ainda qualquer coisa que você não compreende.
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:
# você deve sempre usar estrito e os avisos para reduzir erros em seu código
usar estrito;
usar avisos;
Spreadsheet do uso:: ParseExcel;
meu %data;
# criar o objeto do parser
meu $parser = Spreadsheet:: ParseExcel->new ();
# abrir a lima dos xls
meu $xls = $parser->parse (“/var/tmp/now.xls ") ou morrem $parser->error ();
# laço sobre todas as folhas na lima
foreach meu $sheet ($xls->worksheets ()) {
    meu ($rmin, $rmax) = $sheet->row_range ();
    meu ($cmin, $cmax) = $sheet->col_range ();
    meu @page;
    para meu $row ($rmin. $rmax) {
        meu @line;
        para meu $col ($cmin. $cmax) {
            meu $cell = $sheet->get_cell ($row, $col);
            empurrar o @line, $cell->value () se definido ($cell);
        }
        # o @line contem agora uma disposição da linha atual
        empurrar o @page, [@line];
    }
    # o @page contem agora uma disposição de disposições de todas as linhas na folha atual
    # código do exemplo de que a fazer com @page
    foreach meu $line (@page) {# laço sobre cada linha
       # $line é agora um arrayref
       # cópia cada linha com espaços entre colunas
       cópia “@$line \ n”;
       # mais geralmente, isto poderia ser (e você poderia substituir o espaço com o que quer que):
       # a cópia junta-se ('', @$line), “\ n”;
    }
    # exemplo do fim
    $data {$sheet->get_name ()} = [@page];
}
# %data contem agora uma mistura das disposições de disposições de todos os dados em Excel
# código do exemplo (comentado para fora) de como imprimir para fora todos os dados para todas as páginas
# foreach meu $name (chaves de sorte %data) {
#     cópia “folha $name \ n”;
#     foreach meu $line (@ {$data {$name}}) {
#         a cópia junta-se ('', @$line), “\ n”;
#     }
#}
Outras soluções  
 
programming4us programming4us