Ecriture dans un fichier excel
Posté : 21 juil. 2008, 15:38
Je souhaite créer un fichier Excel et y insérer des données depuis notre cher PHP.
1.souhaitant pourvoir conserver un certaine mise en forme je me suis tourné vers le format xls plustot que csv et de ce fait (étant sous Windows) j'utilise un objet COM. Est ce le moyen le mieux adapté?
2. J'ai rapidement récupéré un exemple simple:
pourtant l'affichage de $test est '1' ce qui est me paraissait pourtant encourageant...
Si vous quelqu'un a une piste pour trouver mon erreur sachant que je suis sous XP/MS Excel 2003/ PHP5
1.souhaitant pourvoir conserver un certaine mise en forme je me suis tourné vers le format xls plustot que csv et de ce fait (étant sous Windows) j'utilise un objet COM. Est ce le moyen le mieux adapté?
2. J'ai rapidement récupéré un exemple simple:
define("FILENAME","C:/Donnees/tests.xls");
if(file_exists(FILENAME))
{
unlink(FILENAME);
}
$excel=new COM("Excel.application");//Instanciation de l'objet COM
$excel->sheetsinnewworkbook=1;//Une seule feuille dans le document
$excel->Workbooks->Add();//Ajout d'un classeur
$book=$excel->Workbooks(1);//$book contient le classeur actif
$sheet=$book->Worksheets(1);//$sheet contient la feuille active
$sheet->Name="Graphique";//Attribution d'un nom à la feuille
$cell=$sheet->Range('A1');
$cell->value='Personne'; //Titre de mes colonnes
$cell=$sheet->Range('B1');
$cell->value='Nombre Questions'; //Nombre de questions qu'on a posées
echo FILENAME;
for ($i=2;$i<7;$i++)
{
$cell=$sheet->Range('A'.$i);
$cell->value='Zéro'.($i-1); // Zéros2 jusquà Zéros6
$cell=$sheet->Range('B'.$i);
$cell->value=2*$i; // de 4 à 12 questions
}
$test = $book->saveas(FILENAME);//Enregistrement du document
echo $test;
unset($sheet);//Libération de $sheet
unset($book);//Libération de $book
$excel->Workbooks->Close();//Fermeture du classeur
$excel->Quit();//On quitte Excel
unset($excel);//Libération de l'objet $excel
}
Malheureusement bien que je n'ai aucune erreur de signalée le fichier n'est meme pas créépourtant l'affichage de $test est '1' ce qui est me paraissait pourtant encourageant...
Si vous quelqu'un a une piste pour trouver mon erreur sachant que je suis sous XP/MS Excel 2003/ PHP5