Conversion .docx et .xlsx

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Conversion .docx et .xlsx

par praline » 28 mai 2008, 12:06

En réponse à moi même ...

Voici une solution en PERL

le script a besoin des librairires Spreadsheet::XLSX et Text::Iconv
pour cela on utilise l'outil cpan en ligne de commande:

Code : Tout sélectionner

cpan -i Spreadsheet::XLSX cpan -i Text::Iconv
et voici le source pour extraire le texte du document mydoc.xlsx

Code : Tout sélectionner

# !/usr/bin/perl use Text::Iconv; my $converter = Text::Iconv -> new ("utf-8", "windows-1251"); # Text::Iconv is not really required. # This can be any object with the convert method. Or nothing. use Spreadsheet::XLSX; my $excel = Spreadsheet::XLSX -> new ('mydoc.xlsx', $converter); foreach my $sheet (@{$excel -> {Worksheet}}) { printf("Sheet: %s\n", $sheet->{Name}); $sheet -> {MaxRow} ||= $sheet -> {MinRow}; foreach my $row ($sheet -> {MinRow} .. $sheet -> {MaxRow}) { $sheet -> {MaxCol} ||= $sheet -> {MinCol}; foreach my $col ($sheet -> {MinCol} .. $sheet -> {MaxCol}) { my $cell = $sheet -> {Cells} [$row] [$col]; if ($cell) { # printf("( %s , %s ) => %s\n", $row, $col, $cell -> {Val}); printf("%s\n", $cell -> {Val}); } } } }
le script resta à adapter pour les besoins de chacun ...

Conversion .docx et .xlsx

par praline » 03 avr. 2008, 11:03

Salut,

Je cherche un outils / script qui serait capable de convertir les fichier .docx et .xlsx vers un fichier texte .txt

L'outil que je cherche doit être utilisable en ligne de commande pour appel via PHP

Pour les .docx, http://blinuxman.net/blinux/docx2txt semble marcher.

Merci, a+