Bonjour à tous,
J'ai un petit problème. En fait je crée un fichier Excel (avec la librairie PHPExcel) et j'enregistre le fichier que je viens de créer dans un dossier, jusque là pas de problème.
Ensuite j'aimerais lire ce fichier et c'est là que les choses ce compliqueJ'ai bien une boîte de dialogue qui s'ouvre, et j'ouvre donc mon fichier mais le fichier ne peut pas s'ouvrir à cause d'un problème d'extension de fichier, ça me met ceci comme erreur: "Impossible d'ouvrir le fichier car son format ou son extension n'est pas valide. Vérifiez que le fichier n'est pas endommagé et que son extension correspond bien au format du fichier".
Alors que si je vais directement dans mon dossier pour ouvrir le fichier, ça marche nickel...
Mon code:
Code PHP : 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
48
49
50
51
52
53 <?php /** Afficher toutes les erreurs */ error_reporting(E_ALL); /** Ajoutons les classes PHPExcel à l'include_path **/ ini_set('include_path', ini_get('include_path').';../Classes/'); include ('Classes/PHPExcel.php'); //Contient les fonctions générales include ('Classes/PHPExcel/Writer/Excel2007.php'); //Permet de créer un document au format xlsx //Génération du document //echo date('H:i:s') . " Creation du nouveau classeur".'<br/>'; $classeur = new PHPExcel(); //On récupère la date du prochain CODEP (Mercredi) $date = new DateTime('next wednesday'); //Conversion de la date en type string $date_str = $date->format('d-m-Y'); //Création de la feuille active $feuille = $classeur->getActiveSheet(); $feuille->setTitle('ODJ CODEP'); //Titre de la feuille de calcul $feuille->setCellValueByColumnAndRow(0, 1, $date_str); //Noms des colonnes.... //Enregistrement du document $writer = new PHPExcel_Writer_Excel2007($classeur); $writer->setOffice2003Compatibility(true); $records = './Excel_ODJ/ODJ_CODEP_du_'.$date_str.'.xlsx'; //Si le fichier existe déjà, on le supprime pour le remplacer par le nouveau if (file_exists($records)) { //echo "Le fichier $records existe."; unlink($records); } //On enregistre le fichier $writer->save($records); //Lecture du fichier header('Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition:inline;filename='.$records); $writer->save('php://output'); // Terminé //echo date('H:i:s') . "Fichier cree"; exit(); ?>
Savez-vous d'où vient mon problème? J'ai pensé aux header, je les ai changés mais c'est toujours pareil....







Répondre avec citation
Partager