Bonjour,
Comment peut-on convertir un fichier Excel du format 3.1 au format 8.0 en php.
Merci par avance de vos réponses
Bonjour,
Comment peut-on convertir un fichier Excel du format 3.1 au format 8.0 en php.
Merci par avance de vos réponses
J'ai essayé ceci :
Mais ca me donne le message d'erreur ci-dessous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $excel = new COM ("Excel.application") or die ('Impossible d\'ouvrir Excel'); //Instanciation de l'objet COM $Name='c:\test.xls'; $excel->Workbooks->Open(''.$Name.'') // ouvrir xls or die ('Impossible d\'ouvrir le modèle'); $book=$excel->Workbooks(1);//$book contient le classeur actif $excel->Workbooks[1]->SaveAs('c:\test.xls', 45); $excel->Workbooks->Close();//Fermeture du classeur $excel->Quit();//On quitte Excel unset($excel);//Libération de l'instance $excel
Si quelqu'un a une idée
Code : Sélectionner tout - Visualiser dans une fenêtre à part Fatal error: Cannot pass parameter 1 by reference in C:\wamp\www\WebReport\SaveXls.php on line 17
Elle est où la ligne 17 dont parle l'erreur ?
Bonjour,
La ligne 17 correspond
Code : Sélectionner tout - Visualiser dans une fenêtre à part $excel->Workbooks[1]->SaveAs('c:\test.xls', 45);
Hum compare ta ligne 16 et 17 ......
J' fais ceci :
et j'obtiens le message ci-dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $excel = new COM ("Excel.application") or die ('Impossible d\'ouvrir Excel'); //Instanciation de l'objet COM $Name='c:\test.xls'; $excel->Workbooks->Open(''.$Name.'') // ouvrir xls or die ('Impossible d\'ouvrir le modèle'); $book=$excel->Workbooks(1);//$book contient le classeur actif $excel->$book->SaveAs('c:\test.xls', 43); $excel->Workbooks->Close();//Fermeture du classeur $excel->Quit();//On quitte Excel unset($excel);//Libération de l'instance $excel
la ligne 8 correspond toujoues au saveas
Code : Sélectionner tout - Visualiser dans une fenêtre à part Catchable fatal error: Object of class variant could not be converted to string in C:\wamp\www\WebReport\SaveXls.php on line 8
C'est presque ça....
En gros là t'as $excel qui est ton une classe... et $book qui est une classe
Si tu met ton classeur 1 dans $book, pas besoin de refaire appel $excel pour faire ton SaveAs()
Donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $book=$excel->Workbooks(1);//$book contient le classeur actif $book->SaveAs('c:\test.xls', 43);
Merci pour la réponse mais ca marche toujours
ca torune pendant un bon moment, ce qui n'est pas normal car le fichier ne fait que quelques Ko de taille.
finalement la barre de progression dans Internet explorer reste bloquée à 50%
C'est un autre problème alors, mais au moins t'utilise la classe correctement (du moins sans erreur fatale)
Y'a que ça dans ton script ?
oué, y a que ca
Franchement, ca devrait pas être compliqué d'ouvrir, d'enregistrer et de refermer un fichier Excel,
Je comprend pas en VBA ca se fait en 1 seule ligne
Bah non c'est pas forcément compliqué, mais dès le début c'est toi qui te planté au niveau de ton code, ça avait rien avoir avec PHP en lui même
j'utilise phpexcelreader / writer, j'ai jamais eu de problèmes.
Jamais utilisé les objets com.
Regarde un peu au niveau de la doc php dans les commentaires si certains en parlent
C'est ce que je fais depuis 2 jours, sans succés
php_Excelwriter : de ce que j'ai compris ce ne permet pas d'ouvrir des fichiers existant
php_reader : j'a pas compris comment enregistrer un fichier existant dans un emplacement déterminé
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager