Ho utilizzato il Spreadsheet::ParseExcel per elencare il contenuto del foglio di calcolo. Ho visto diversi esempi su come scaricare l'intero foglio di calcolo. Mi piacerebbe davvero vedere come usare questo script in modo più selettivo.Sono necessari ulteriori esempi su come utilizzare Spreadsheet :: ParseExcel
L'esempio seguente da IBM scarica in pratica il contenuto di tutte le celle che contengono dati.
#!/usr/bin/perl -w
use strict;
use Spreadsheet::ParseExcel;
my $oExcel = new Spreadsheet::ParseExcel;
die "You must provide a filename to $0 to be parsed as an Excel file" unless @ARGV;
my $oBook = $oExcel->Parse($ARGV[0]);
my($iR, $iC, $oWkS, $oWkC);
print "FILE :", $oBook->{File} , "\n";
print "COUNT :", $oBook->{SheetCount} , "\n";
print "AUTHOR:", $oBook->{Author} , "\n"
if defined $oBook->{Author};
for(my $iSheet=0; $iSheet < $oBook->{SheetCount} ; $iSheet++)
{
$oWkS = $oBook->{Worksheet}[$iSheet];
print "--------- SHEET:", $oWkS->{Name}, "\n";
for(my $iR = $oWkS->{MinRow} ;
defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ;
$iR++)
{
for(my $iC = $oWkS->{MinCol} ;
defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ;
$iC++)
{
$oWkC = $oWkS->{Cells}[$iR][$iC];
print "($iR , $iC) =>", $oWkC->Value, "\n" if($oWkC);
}
}
}
Qualcuno può darmi un esempio di come posso specificare alcune azioni da intraprendere per una determinata colonna per ogni riga?
Ad esempio, ho un foglio di calcolo con 7 colonne e n righe. Voglio riformattare i dati in ciascuna delle colonne in un certo modo. Forse voglio prendere la colonna 6 per ogni riga e aggiungere del testo alla fine della stringa memorizzata nella cella. Come sarebbe impostato?
Sono il manutentore di Spreadsheet :: ParseExcel e penso che questo sia un esempio chiaro e chiaro. ++ – jmcnamara
Wow, fantastico esempio. Grazie mille! E grazie a tutti i tuoi contributi e a strumenti così fantastici! –
Ho ottenuto quanto segue: Impossibile chiamare il metodo "value" su un valore non definito su ./excel-test-new line 19. –