Générer fichier Excel via l'objet COM en php
billypote
Messages postés
44
Date d'inscription
Statut
Membre
Dernière intervention
-
billypote Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
billypote Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je cherche a ouvrir un fichier excel existant, et à le modifier, le tout en php. Pour ça, j'utilise l'objet COM. Voici mon code:
C'est censé ouvrir le fichier essai_com.xls, et ecrire "azerty" dans la cellule (2,2). Mais ce n'est pas le cas xD
Je sais pas trop ou ça bloque, donc si qqn pouvait me donner un coup de main, ça serait plus qu'appreciable ;)
Merci d'avance et bonne journée
je cherche a ouvrir un fichier excel existant, et à le modifier, le tout en php. Pour ça, j'utilise l'objet COM. Voici mon code:
define("FILENAME","C:/web/htdocs/test1/essai_com.xls"); $excel=new COM("Excel.application"); $excel->Workbooks->Open(FILENAME) ; //$excel->Workbooks->fopen(FILENAME,"r+"); J'ai essayé les 2 solutions. //$excel->Visible=1; $book=$excel->Workbooks(1); $sheet=$book->Worksheets(1); $selcell = $sheet->cells(2,2); $selcell->activate; $selcell->value='azerty'; $book->Save(); unset($sheet); unset($book); $excel->Workbooks->Close(); $excel->Quit(); unset($excel);
C'est censé ouvrir le fichier essai_com.xls, et ecrire "azerty" dans la cellule (2,2). Mais ce n'est pas le cas xD
Je sais pas trop ou ça bloque, donc si qqn pouvait me donner un coup de main, ça serait plus qu'appreciable ;)
Merci d'avance et bonne journée
A voir également:
- Générer fichier Excel via l'objet COM en php
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
1 réponse
Un petit up, c'est tjrs bon de donner la solution.
J'ai reussi a faire fonctionner l'objet COM au final, il suffit d'indiquer le nom du fichier sans l'extension pour la fonction Open, fallait le savoir.
En revanche je bloque sur la boucle qui permet de parcourir toutes les lignes de mon fichier excel pour appliquer ma formule de concatenation a toutes les lignes.
while(! feof(FILENAME)) ne fonctionne pas. Si qqn a une solution, je suis preneur. :)
J'ai reussi a faire fonctionner l'objet COM au final, il suffit d'indiquer le nom du fichier sans l'extension pour la fonction Open, fallait le savoir.
En revanche je bloque sur la boucle qui permet de parcourir toutes les lignes de mon fichier excel pour appliquer ma formule de concatenation a toutes les lignes.
while(! feof(FILENAME)) ne fonctionne pas. Si qqn a une solution, je suis preneur. :)
<?php define("FILENAME","C:/web/htdocs/test1/test3.xls"); if (file_exists(FILENAME)) { echo "Le fichier " . FILENAME . " existe"; $excel=new COM("Excel.application"); $excel->Workbooks->Open("C:/web/htdocs/test1/test3") ; //Indiquer le nom du fichier sans l'extension $book=$excel->Workbooks(1); $sheet=$book->Worksheets(1); $i=2; while(! feof(FILENAME)) { $i++; $selcell=$sheet->Range('U'.$i); $selcell->value='=CONCATENER("9F";B'.$i.';" ";STXT(F'.$i.';3;3);SI(Q'.$i.'="-";SI((N2="-");STXT(K'.$i.';3;3);STXT(N'.$i.';3;3));STXT(Q'.$i.';3;3));"TGT";"A";"0000";STXT((1000+C'.$i.');2;3))'; } $book->Save(); unset($sheet); unset($book); $excel->Workbooks->Close(); $excel->Quit(); unset($excel); } else { echo "Le fichier n'existe pas !"; } ?>