salut à tous,
voila, j'ai un probleme (oui, comme beaucoup d'ailleurs ) en voulant enregistrer un fichier excel2007 depuis un navigateur web
Quand je le lance depuis: http://MON-IP/MON-URI, j'ai dans mes logs apache cela:*
Le probleme est que j'ai bien les extention zip pour le php[error] [client X.X.X.X] PHP Fatal error: Uncaught exception 'Exception' with message 'Could not close zip file test.xlsx.' in /usr/src/Classes/PHPExcel/Writer/Excel2007.php:400\nStack trace:\n#0 /var/www/MON-VHOST/test.php(53): PHPExcel_Writer_Excel2007->save('test.xlsx')\n#1 {main}\n thrown in /usr/src/Classes/PHPExcel/Writer/Excel2007.php on line 400
php -m
xml
xmlreader
xmlwriter
zip
zlib
php -v
PHP 5.2.6-1+lenny3
J'ai même ajouté l'extension zip via le pecl pour être vraiment sûr mais quenini
J'ai aussi créer le fichier test.xlsx en lui donnant les droits 777 pour être plus souple.
Je sêche litterallement.
Concernant le script, rien d'impressionnant
Le resultat final est que j'arrive bien à télécharger le fichier excel mais il semble corrompu (deja vu plusieurs fois dans d'autres cases):
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 <?php include '/usr/src/Classes/PHPExcel.php'; include '/usr/src/Classes/PHPExcel/Writer/Excel2007.php'; include '/usr/src/Classes/PHPExcel/IOFactory.php'; header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="test.xlsx"'); header('Cache-Control: max-age=0'); $workbook = new PHPExcel; /* Definis le nom de l onglet*/ $sheet = $workbook->getActiveSheet()->setTitle("TEST"); $sheet->setCellValue('A1','TEST'); /* Sauvegarde des fichiers*/ $writer = new PHPExcel_Writer_Excel2007($workbook); $writer->save("test.xlsx"); ?>
Impossible d'ouvrir le fichier car son format ou son extension n'est pas valide.
Ha oui, très important, cela fonctionne parfaitement en ligne de commande:
php test.php
UP1: J'avance un peu sur le sujet.
Cela concerne uniquement la version 2007. Ca marche nickel quand j'ai le fait via Excel5
Je penche vers un bug même de phpexcel (c'est plus facile d'incriminer les devellopeur que d'avouer que ca peut venir de moi )
Merci encore pour votre aide
Partager