Bonjour à tous,
Je voudrais utiliser PHPExcel pour générer un fichier Excel, mais je rencontre deux problèmes.
1) Impossible d'ouvrir le fichier xxxx car son format ou son extension n'est pas valide.
2)Voici mon code :<b>Fatal error</b>: Uncaught exception 'Exception' with message 'Could not close zip file php://output.' in /home/web998/public_html/classes/PHPExcel/Writer/Excel2007.php:378
Stack trace:
#0 /home/web998/public_html/classes/agrements_excel.php(45): PHPExcel_Writer_Excel2007->save('php://output')
#1 {main}
thrown in <b>/home/web998/public_html/classes/PHPExcel/Writer/Excel2007.php</b> on line <b>378</b><br />
J'ai utilisé phpExcel dans le passé sans rencontrer ces problèmes.
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
35
36
37
38
39
40
41
42
43
44
45
46
47 <?php //IMPORTANT : Il ne faut PAS inclure la connexion mais la mettre comme ci-dessous car bug connu avec PHPEXCEL (fichier généré via le navigateur inexploitable !!!!) try { $bdd = new PDO('mysql:host=127.0.0.1;dbname=xxx', 'xxx', 'xxx', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8')); } catch (PDOException $e) { print "Erreur !: " . $e->getMessage() . "<br/>"; die(); } if (!isset($_SESSION)) { session_start(); } include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; require_once '../model/config/config.inc.php'; require_once MODEL_PATH . '/autoloader/Autoloader.class.php'; $autoloader = new Autoloader($configPath); $sql = new SqlManager(DB, USER_DB, PWD_DB); $workbook = new PHPExcel; $sheet = $workbook->createSheet(); $sheet = $workbook->getActiveSheet(); $sql->selectFrom(array('nom','prenom'),'pharmacien'); $sql->sqlReturn(); $infos_pharmaciens = $sql->save(); //$sheet->setTitle($infos_pharmaciens->ligne0->nom." ".$infos_pharmaciens->ligne0->prenom ); //$sheet->setCellValue('A1',"dmu number"); //$sheet->setCellValue('B1',"Name"); $writer = new PHPExcel_Writer_Excel2007($workbook); header('Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition:inline;filename=agrements.xlsx'); $writer->save('php://output'); ?>
Merci d'avance pour l'aide.
bee
Partager