[Excel] Générer des tableaux
Bonjour,
j'ai besoin de générer des tableaux Excel avec PHP. Pour le moment je ne veux pas grand chose: juste créer un fichier excel avec une case de remplie (histoire de me dire que ça marche)
Pour cela, j'utilise le code suivant mais ça ne marche pas:
Code:
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
|
$chemin="d:/a.xls";
//Si au moins une ligne est retournée
if(file_exists($chemin))
{//Suppression du fichier précédement créé
unlink($chemin); //Suppression du fichier
}
$excel=new COM("Excel.application"); //Instanciation de l'objet COM
$excel->sheetsinnewworkbook=1;//1 seule feuille de calcul dans le document
$excel->Workbooks->Add();//Ajout d'un classeur
$book=$excel->Workbooks(1);//$book contient le classeur actif
//$nom_onglet="Semaine";
$sheet=$book->Worksheets(1);//$sheet contient la feuille active
$sheet->Name="test";//Attribution d'un nom à la feuille
$c=68;//C'est ici qu'on va jouer sur les codes ascii
$l=9;
$cell=$sheet->Range('A1 : N50');
$cell->Interior->ColorIndex=2;//couleur de fond
$cell=$sheet->Range('C3 : J4')->Merge;
$cell=$sheet->Range('C3');//chr, renvoie la lettre correspondant au code ASCII
$cell->value="Détail des incidents";//Attribution d'une valeur à la cellule
$book->saveas($chemin);//Sauvegarde du fichier
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'instance $excel |
Il me renvoie l'erreur suivante:
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft Office Excel<br/><b>Description:</b> Impossible de lire la propriété SaveAs de la classe Workbook.' in D:\wamp\www\essais\export_excel.php:30 Stack trace: #0 D:\wamp\www\essais\export_excel.php(30): variant->saveas('d:/a.xls') #1 {main} thrown in D:\wamp\www\essais\export_excel.php on line 30
(la ligne 30, c'est la ligne $book->saveas($chemin);//Sauvegarde du fichier)
Je suis sous windows Vista (arf), Excel 2007 et j'utilise wamp 2.0.
J'ai fait le tour du web pour trouver la solution à ce problème mais sans résultat. Je pense que le problème vient du fait que j'utilise Office 2007 (j'ai testé le script sur office 2003 et win XP et il marche)
Si quelqu'un peut m'aider se serait super.
Merci d'avance