Besoin de plus d'exemples sur la façon d'utiliser le Tableur::ParseExcel
J'ai été en utilisant le Feuille De Calcul::ParseExcel pour lister le contenu de la feuille de calcul. J'ai vu plusieurs exemples sur la façon de vider la totalité de la feuille de calcul. Je voudrais vraiment voir comment utiliser ce script de manière plus sélective.
L'exemple ci-dessous d'IBM fondamentalement vide le contenu de toutes les cellules qui contiennent des données.
#!/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);
}
}
}
Quelqu'un peut-il me donner un exemple de comment je peux préciser certaines mesures à prendre pour une certaine colonne pour chaque ligne?
Par exemple, j'ai une feuille de calcul avec 7 colonnes et n lignes. Je veux reformater les données dans chacune des colonnes dans une certaine manière. Peut-être que je veux prendre de la colonne 6 pour chaque ligne et ajouter du texte à la fin de la chaîne stockée dans la cellule. Comment pourrait-il être mis en place?
OriginalL'auteur XL. | 2010-07-09
Vous devez vous connecter pour publier un commentaire.
De modifier un fichier Excel, le Feuille De Calcul::ParseExcel::SaveParser module est très utile. Il vous permet de lire un fichier, effectuez les modifications, puis d'écrire le contenu modifié dans un nouveau fichier. Voici un exemple simple:
Pour beaucoup d'autres exemples, voir l'excellente documentation:
Wow, magnifique exemple. Merci beaucoup! Et merci à tous de vos contributions et de ces outils formidables!
J'ai eu la suivante: vous ne Pouvez appeler la méthode de la "valeur" sur une valeur non définie ./excel-test de la nouvelle ligne 19.
Après vous obtenez
$cell
de laget_cell
méthode, vous avez souvent besoin de vérifier si elle est définie. Si non, cela signifie que la cellule dans la feuille de calcul était vide. J'ai édité ma réponse pour illustrer l'idée.Brillant. Merci beaucoup!
OriginalL'auteur FMc
Pour reformater les données dans chacune des colonnes d'une certaine manière, vous pouvez utiliser la combinaison de
Spreadsheet::ParseExcel
etSpreadsheet::WriteExcel
modules commeCréer un nouveau excel par
Spreadsheet::WriteExcel
module et ajoutez la feuille de calcul.Ensuite d'Analyser l'existant, Excel et écrire le contenu dans de nouveaux excel avec le formatage.Voici un exemple d'échantillon:
Après l'écriture d'un nouveau excel à partir de l'existant excel, vous pouvez utiliser l'API de
Spreadsheet::WriteExcel
pour ajouter des données.Il permettra de résoudre les problèmes commeOriginalL'auteur Nikhil Jain