Probleme récupération des resultats d'une commande DOS en variables PHP

Signaler
Messages postés
10
Date d'inscription
samedi 20 janvier 2007
Statut
Membre
Dernière intervention
5 juillet 2017
-
Messages postés
10
Date d'inscription
samedi 20 janvier 2007
Statut
Membre
Dernière intervention
5 juillet 2017
-
Bonjour à tous!

J'utilise sous PHP/Mysql l'utilitaire gratuit Xls2csv.exe pour traansformer automatiquement des fichiers Excel en CSV.
Tout fonctionne parfaitement quand le doc excel ne contient qu'une seule feuille.
En revanche il arrive que le XLS contienne plusieurs feuilles, dans ce cas il suffit de faire en ligne de commande:
c:\>xls2csv -x "toto.xls" -W
ce qui donne comme résultat:

The following 3 worksheets are defined in the spreadsheet:




tata
titi
tutu


Comment en php, recupérer ces valeurs sous forme de variable?

4 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
Messages postés
10
Date d'inscription
samedi 20 janvier 2007
Statut
Membre
Dernière intervention
5 juillet 2017

j'ai bien consulté le site et je comprends que le résultat doit apparaitre avec la variable output mais comment faire car je n'obtiens aucun résultat dans un tableau avec

<?php
echo 'csv_bin/xls2csv -x '.$dossier.''.$fichier '-W, array<tt class="parameter reference">&$output</tt> , int<tt class="parameter reference">&$return_var</tt> ;

echo $output;

?>

....j'ai quelques lacunes (Grosses) avec la manipulation des fichiers en PHP...

                                                        Merci pour votre aide
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
Il est où ton appel à la fonction exec() là...?
Messages postés
10
Date d'inscription
samedi 20 janvier 2007
Statut
Membre
Dernière intervention
5 juillet 2017

Pardon....j'ai essayé cela mais rien ne s'affiche!exec('csv_bin/xls2csv -x $dossier.$fichier. -W', $output);
while( list(,$row) = each($output) ) {
echo $row;

        }