Re: [fr-users] conversion en masse de fichiers xls en csv
Le 21/04/2011 15:21, Jean-Baptiste Faure a écrit : > Bonjour, > > Une doctorante de chez nous a 2800 fichiers xls dont elle a besoin > d'extraire un certain onglet (elle en connait le nom) sous la forme d'un > fichier csv. Bonjour, Merci pour vos réponses. Le problème est résolu et nous avons 2 approches pour le faire. C'est plus sûr. :-) En réalité j'ai oublié un détail : le résultat final attendu suppose une étape supplémentaire car il faut regrouper tous les fichiers csv produits en un seul en les concaténant. Autre détail qui n'est effectivement pas sans importance : notre doctorante travaille sous Linux et n'a pas MS-Excel sur son poste de travail. - méthode 1 : utiliser xls2csv de façon à conserver proprement les heures, utiliser un script shell à base de awk et sed pour séparer les onglets et corriger les dates (toujours les mêmes dans un même onglet) à partir du nom de fichier, concaténer les fichiers tout en procédant à un petit nettoyage : shell avec cat et sed. - methode 2 : utiliser batchconv modifié par Laurent Godard pour extraire l'onglet voulu de tous les fichiers xls du répertoire. Concaténer les fichiers csv obtenus comme avec la méthode 1. La méthode 1 fonctionne presque parfaitement (des erreurs de nettoyage) mais en 2 bonnes heures. La partie batchconv de la méthode 2 fonctionne parfaitement. Je ne l'ai pas encore testée sur les 2800 fichiers xls. Il me reste à bien comprendre la macro que m'a fournie Laurent, à isoler le script de concaténation et à faire un test en vrai grandeur. Avant de l'appliquer à un autre stock de fichiers encore plus volumineux :-) Je mettrai le code ici dés que je l'aurai compris. :-) Mais toutes les infos nécessaires sont expliquées dans le bouquin de Laurent et Bernard (Programmation OpenOffice.org et LibreOffice chez Eyrolles). Cela pourrait peut-être donner une nouvelle version étendue de batchconv avec cette option du choix de l'onglet à extraire lors de l'export en csv. Bonne journée JBF -- Seuls des formats ouverts peuvent assurer la pérennité de vos documents. -- Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] conversion en masse de fichiers xls en csv
Bonjour, Le 21 avril 2011 15:21, Jean-Baptiste Faure a écrit : > Bonjour, > > Une doctorante de chez nous a 2800 fichiers xls dont elle a besoin > d'extraire un certain onglet (elle en connait le nom) sous la forme d'un > fichier csv. > Quel OS - version ? , c'est important pour savoir avec quels outils on peut travailler. Elle dispose d'excel en standard ou non ? Délai d'urgence / de réalisation ? > Par exemple si les fichier xls ont des noms du genre 2011-04-21.xls et > que l'onglet se nomme toto, elle voudrait récupérer un fichier > 2011-04-21_toto.csv. > Elle a déjà vérifié que l'export csv à la main se passe bien. > > Je ne peux pas croire qu'on ne puisse pas automatiser ça assez > simplement. Auriez-vous une piste à m'indiquer ? > ma première idée serait du powershell (je pense que ça devrait être réalisable très facilement. je peux m'y mettre). pré-requis : powershell dispo sur plateforme/objet excel dispo. ma seconde est un script de conversion que j'ai déjà utilisé pour convertir un dossier avec des .doc vers du .dot par exemple. pré-requis : LibreOffice suffirait je pense à le modifier un peu, mais là, il faut que je regarde de + près dans le script. ma troisième serait un script perl qui manipule le fichier excel via les objets com (j'ai déjà un script qu'il me faudrait adapter...) pré-requis : perl-excel Yves > > NB: elle essaye par ailleurs de faire le boulot avec xls2csv mais il y a > des problèmes de conversion de formats de date et d'heures qui ne sont > pas compatibles : si ça marche pour l'un on perd l'autre. > > Merci de votre aide. > JBF > > -- > Seuls des formats ouverts peuvent assurer la pérennité de vos documents. > > -- > Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous > désinscrire > Les archives de la liste sont disponibles à > http://listarchives.libreoffice.org/fr/users/ > Tous les messages envoyés sur cette liste seront archivés publiquement et > ne pourront pas être supprimés > -- web site : http://www.molenbaix.com -- Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] conversion en masse de fichiers xls en csv
Avec un petit script Perl cela devrait être facile en utilisant ce package : http://search.cpan.org/~jmcnamara/Spreadsheet-ParseExcel-0.59/lib/Spreadsheet/ParseExcel.pm Il y a des méthodes pour récupérer les Worksheet et ensuite itérer sur les cellules. Jamais utilisé ce package pour ma part mais j'utilise l'autre, pour créer des fichiers Excel, et ça marche très bien. http://search.cpan.org/~jmcnamara/Spreadsheet-WriteExcel-2.37/lib/Spreadsheet/WriteExcel.pm Comme c'est le même auteur, la qualité doit être la même... -- Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] conversion en masse de fichiers xls en csv
Le 21/04/2011 15:31, pierre-yves.samyn a écrit : > > Bonjour > >> Message du 21/04/11 15:22 >> De : "Jean-Baptiste Faure" >> >> Une doctorante de chez nous a 2800 fichiers xls dont elle a besoin >> d'extraire >> un certain onglet (elle en connait le nom) sous la forme d'un fichier csv. >> ... >> Je ne peux pas croire qu'on ne puisse pas automatiser ça assez simplement. > > Je n'ai pas testé les possiblités mais je pense aux outils de L. Godard : > "BatchConv est un outil de transformation par lot d'une liste de fichier > depuis et vers > tout format supporté par OpenOffice.org." > > http://oooconv.free.fr/batchconv/batchconv_fr.html Laurent vient de me confirmer que batchconv ne sait pas sortir un onglet particulier. Je vais voir si on peut arranger ça. Bonne journée JBF -- Seuls des formats ouverts peuvent assurer la pérennité de vos documents. -- Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
RE: [fr-users] conversion en masse de fichiers xls en csv
Bonjour, > De : Jean-Baptiste Faure [mailto:jbf.fa...@orange.fr] > Envoyé : jeudi 21 avril 2011 15:21 > > Bonjour, > > Une doctorante de chez nous a 2800 fichiers xls dont elle a besoin > d'extraire un certain onglet (elle en connait le nom) sous la forme d'un > fichier csv. > Par exemple si les fichier xls ont des noms du genre 2011-04-21.xls et > que l'onglet se nomme toto, elle voudrait récupérer un fichier > 2011-04-21_toto.csv. > Elle a déjà vérifié que l'export csv à la main se passe bien. > > Je ne peux pas croire qu'on ne puisse pas automatiser ça assez > simplement. Auriez-vous une piste à m'indiquer ? > > NB: elle essaye par ailleurs de faire le boulot avec xls2csv mais il y a > des problèmes de conversion de formats de date et d'heures qui ne sont > pas compatibles : si ça marche pour l'un on perd l'autre. > > Merci de votre aide. > JBF Etant donné les spécifications d'extraction d'un onglet particulier et d'export avec un nom spécifique, je doute que l'on trouve une appli qui puisse le faire directement. Pour avoir déjà réalisé séparément chacune de ces caractéristiques, je pense qu'avec une macro c'est assez facile, et pour 2800 fichiers ça vaudrait la peine d'y investir un peu de temps. Mais à condition d'avoir déjà pratiqué les macros ... ce qui n'est pas forcément le cas commun. Si cette doctorante ou une autre personne de son entourage pratique un peu les macros, je peux donner quelques exemples extraits de mes différentes macros illustrant les principaux traitements ... Bonne journée, Michel -- Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re:[fr-users] conversion en masse de fichiers xls en csv
Bonjour > Message du 21/04/11 15:22 > De : "Jean-Baptiste Faure" > > Une doctorante de chez nous a 2800 fichiers xls dont elle a besoin d'extraire > un certain onglet (elle en connait le nom) sous la forme d'un fichier csv. > ... > Je ne peux pas croire qu'on ne puisse pas automatiser ça assez simplement. Je n'ai pas testé les possiblités mais je pense aux outils de L. Godard : "BatchConv est un outil de transformation par lot d'une liste de fichier depuis et vers tout format supporté par OpenOffice.org." http://oooconv.free.fr/batchconv/batchconv_fr.html Cordialement Pierre-Yves Une messagerie gratuite, garantie à vie et des services en plus, ça vous tente ? Je crée ma boîte mail www.laposte.net -- Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés