avec tableur :: WriteExcel Code>
, je peux Créez un nouveau classeur, mais si je souhaite ouvrir un livre existant et modifier certaines colonnes? Comment pourrais-je accomplir ça? P>
Je pourrais analyser toutes les données de la feuille à l'aide de tableur :: parseexcel CODE>
puis écrivez-le avec de nouvelles valeurs dans certaines lignes / colonnes à l'aide de < Code> tableur :: WriteExcel code> , cependant. Y a-t-il un module qui combine déjà les deux? P>
principalement je veux juste ouvrir un .xls code>, écrase certaines lignes / colonnes et enregistrez-la. P>
4 Réponses :
tableur :: parseexcel lira dans les fichiers Excel existants: Mais ce que vous vraiment em> veux être Feuille de calcul :: parseexcel :: sauvegarde , qui est une combinaison de tableur :: WriteExcel . Il y a un exemple près du bas de la documentation. P> < / p>
Je ne vois aucun moyen d'écrire à un livre Excel à l'aide de parsexcel
Spreadsheet :: Parseexcel :: SaveParser fera cela. Vous battez mon édition. :)
Il y a une section de la feuille de calcul :: WriteExcel Docs qui couvre Feuilles de calcul de modification et de réécriture de la réécriture . P>
Un fichier Excel est un fichier binaire dans un fichier binaire. Il contient plusieurs checks interconnectés et changeant même un octet peut le faire corrompre. P>
En tant que tel, vous ne pouvez pas simplement ajouter ou mettre à jour un fichier Excel. Le seul moyen d'y parvenir est de lire le fichier entier en mémoire, de rendre les modifications ou des ajouts requises, puis écrivez à nouveau le fichier. P>
Vous pouvez lire et réécrire un fichier Excel à l'aide de la feuille de calcul :: parseexcel :: sauvegarde module qui est un wrapper autour de la feuille de calcul :: parseexcel et tableur :: WriteExcel. Il fait partie du tableur :: parseexcel paquet. P> blockQuote>
Il y a aussi un exemple. P>
Le tableur :: parseexcel :: sauvegarde du module est un wrapper autour de Tableur :: parseXcel et tableur tableur :: WriteExcel. P>
J'ai récemment mis à jour la documentation avec, qu'est-ce que j'espère, est un exemple plus clair comment faire cela . p>
Je ne reçois toujours pas vraiment cet exemple. Je ne trouve pas la documentation de ce que SavAeas accepte. Est possible de passer des poignées de fichier ou scalaire à la référence au lieu d'un nom de fichier?
Oups j'ai réalisé que John McNamara comprenait un fichier write_to_scalar.pl dans le paquet. Utilisation de celui-ci, j'ai pu créer une mémoire à la modification de la mémoire d'un fichier XLS :-D
Si vous avez Excel installé, il est presque trivial de le faire avec essentiellement, Win32: : Ole code>
. Voici l'exemple de Win32 :: Ole Code> 's propre documentation:
win32 :: ole code> vous donne tout ce qui est Disponible pour une application VBA ou Visual Basic, qui comprend une grande variété de choses - tout de l'automatisation Excel et Word à l'énumération et au montage de lecteurs de réseau via l'hôte de script Windows. Il est venu standard avec les dernières éditions d'Activeperl. P> p>
De plus, vous pouvez écrire des tableaux entiers en colonnes \ rangées à la fois et cela affecte la rapidité de l'écriture. Si cela ne suffit pas, vous pouvez également écrire dans une excellence qui a une macro en elle et courir avec ce module.
Merci. J'ai remarqué une feuille de calcul :: parsexlsx :: sauvegarde n'existe pas pour que cela fonctionne beaucoup mieux pour moi.
@ USR-bin-buvant: content que ce soit utile :)