Bonjour,
j'ai voulu tester la manipulation d'Excel via COM en suivant le tuto de Stephane Eyskens http://stephaneey.developpez.com/tutoriel/php/phpexcel/ mais voilà, mon soucis est que Excel reste en mémoire.
J'ai testé plein de truc mais rien n'y fait et je dois tuer Excel dans le Task Manager.
Je suis en PhP 4.2, Windows 2K et Excel 2K (anglais).
Voici mon code, si qqun a une idée :
Merci par avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 <?php define("FILENAME","C:\\Developpement\\php\\Excel\\phpexcel.xls"); //constante: nom du fichier à générer if(file_exists(FILENAME)){ //Suppression du fichier précédement créé unlink(FILENAME); //Suppression du fichier } $excel=new COM("Excel.Application") or die("Impossible d'ouvrir Excel"); //Instanciation de l'objet COM echo ("new COM"); //$excel->sheetsinnewworkbook=1;//1 seule feuille de calcul dans le document $excel->Workbooks->Add();//Ajout d'un classeur //$excel->visible=true; echo ("<br>new book"); $book=$excel->Workbooks[1];//$book contient le classeur actif $sheet=$book->Sheets[1];//$sheet contient la feuille active echo ("<br>new sheet\n"); $sheet->Name="Test Excel";//Attribution d'un nom à la feuille for ($i=1;$i<=10;$i++) { $cell=$sheet->Cells($i,1);//'A'.$i); $cell->value=$i; $cell->Font->ColorIndex = 41;//Coloration echo ("<br>A$i -> $i\n"); } $book->SaveAs(FILENAME);//Sauvegarde du fichier echo ("<br>save book en ".FILENAME); $book->Close(false); unset($cell); unset($sheet);//Libération de $sheet //$excel->Workbooks->Close();//Fermeture du classeur unset($book);//Libération de $book $excel->Quit;//On quitte Excel unset($excel);//Libération de l'instance $excel echo ("<br>Fin"); ?> </body> </html>
Partager