2010-01-25 14 views
6

Szukam przykładów/porady, jak napisać skrypt Perla, aby odczytać dane z pliku Excela, a następnie użyć odczytanych danych (jako mam nadzieję) i przekazać je do innego pliku Perla (jako argumentu).Jak mogę odczytać pliki Excela w Perlu?

Celem jest posiadanie tabeli, w której użytkownik może wpisać niektóre dane (miejsce docelowe FTP lub nazwę pliku) do tabeli. Wtedy mój program pobierze te dane, wykonując z nich automatyzację. Nie musi być bardzo elegancka w implementacji ... Wystarczy mniej lub więcej odczytać wiersze danych.

Odpowiedz

6

Sprawdź streszczenia w tych modułach:

+3

Lub może po prostu mieć Excel arkusze kalkulacyjne w formacie .csv (lub podobnym) i zaoszczędzić sobie wielu kłopotów: D – dangerstat

+0

To jest bardzo ważny punkt, pliki CSV są * dużo * łatwiejsze do tworzenia i manipulowania i pracują z nimi, jeśli ich używanie jest dozwolone, to na pewno droga do przebycia. Użyj Text :: CSV_XS i ustaw always_quote => 1, i będzie działać doskonale z Excelem. –

8

Możesz użyć numeru Spreadsheet::Read, który przeniesie Cię do odpowiedniego modułu w celu odczytania arkuszy kalkulacyjnych w różnych formatach, takich jak Excel, OpenOffice i CSV.

Z drugiej strony, biorąc pod uwagę Twój opis problemu, myślę, że można byłoby znacznie lepiej przy użyciu standardowego formatu pliku konfiguracyjnego w lokalizacji:

#!/usr/bin/perl 

use Config::Std; 

read_config 'ftp.ini' => my %config; 

for my $file (keys %config) { 
    print "File: '$file'\n"; 
    print "$_: ", $config{$file}->{$_}, "\n" 
     for qw(site protocol remote_name); 
} 

ftp.ini:

 
[c:\Documents and Settings\user\My Documents\this.txt] 
site = ftp.example.com 
protocol = ftp 
remote_name = that.txt 
+1

To prawdopodobnie o wiele łatwiejsze i bezpieczniejsze, aby Joe Random User wpisze coś w komórkach Excela, niż zmusi ich do edycji pliku tekstowego o strukturze, z której większość nigdy by nie zobaczyła. Poza tym możesz wykonywać wszystkie rodzaje sprawdzania poprawności i wprowadzania danych za pomocą makr/etc. w pliku Excel, którego nie można w przypadku plików .ini. – rjp

Powiązane problemy