Używam Spreadsheet::ParseExcel do wyświetlania zawartości arkusza kalkulacyjnego. Widziałem kilka przykładów, jak zrzucić cały arkusz kalkulacyjny. Naprawdę chciałbym zobaczyć jak korzystać z tego skryptu bardziej selektywnie.Potrzebujesz więcej przykładów na temat korzystania z arkusza kalkulacyjnego :: ParseExcel
Poniższy przykład z firmy IBM zasadniczo zrzuca zawartość wszystkich komórek z danymi.
#!/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);
}
}
}
Czy ktoś może podać przykład, w jaki sposób mogę określić, jakie działanie należy podjąć dla określonej kolumny dla każdego wiersza?
Na przykład mam arkusz kalkulacyjny z 7 kolumnami i n wierszami. Chcę sformatować dane w każdej z kolumn w określony sposób. Być może chcę wziąć kolumnę 6 dla każdego wiersza i dołączyć trochę tekstu na końcu ciągu zapisanego w komórce. Jak to się stanie?
Jestem opiekunem arkusza kalkulacyjnego :: ParseExcel i uważam, że jest to miły, jasny przykład. ++ – jmcnamara
Wow, fantastyczny przykład. Dziękuję bardzo! I dziękuję za wszystkie twoje uwagi i za takie niesamowite narzędzia! –
Mam następujące: Nie można wywołać metody "value" dla niezdefiniowanej wartości w wierszu ./excel-test-new wiersz 19. –