IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHPExcel] Fichier manquant


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Points : 73
    Points
    73
    Par défaut [PHPExcel] Fichier manquant
    Bonjour,

    Je tiens d'abors à préciser que j'ai pris le code qui suis sur ce site

    Donc je souhaite créer un fichier Excel (2007 ou antérieur peut importe, mais dans l'exemple qui suis j'ai choisi antérieur en me disant, qui peut le plus peut le moins):

    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
    	include_once 'PHPExcel_1.7.9_doc/Classes/PHPExcel.php';
    	include_once 'PHPExcel_1.7.9_doc/Classes/PHPExcel/Writer/Excel5.php';
    	include_once 'PHPExcel_1.7.9_doc/Classes/PHPExcel/Writer/Excel2007.php';
     
    	$workbook = new PHPExcel;
     
    $sheet = $workbook->getActiveSheet();
    $sheet->setCellValue('A1','MaitrePylos');
     
    $writer = new PHPExcel_Writer_Excel5($workbook);
     
    header('Content-type: application/vnd.ms-excel');
     header('Content-Disposition:inline;filename=test.xls ');
     $writer->save('php://output');

    Le fichier se créer bien (il se retrouve dans mon dossier Téléchargement).
    Par contre il ne s'ouvre pas comme il faut avec mon tableur (Excel 2010)

    Quand je l'ouvre je me retrouve avec ça:



    Je clique sur OUI et j'obtiens ceci:



    C'est très dur de trouver des renseignements sur le sujet.

    Si je passe par une autre méthode, genre celle-ci:

    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
    include_once 'PHPExcel_1.7.9_doc/Classes/PHPExcel.php';
    	include_once 'PHPExcel_1.7.9_doc/Classes/PHPExcel/Writer/Excel5.php';
    	include_once 'PHPExcel_1.7.9_doc/Classes/PHPExcel/Writer/Excel2007.php';
     
    	$workbook = new PHPExcel;
     
    $sheet = $workbook->getActiveSheet();
    $sheet->setCellValue('A1','MaitrePylos');
     
    $writer = new PHPExcel_Writer_Excel5($workbook);
     
     
    	$records = './fichier.xls';
     
    $writer->save($records);
     
    	$chemin = "../test2.xls";
    	header('Content-Description: File Transfer');
    	header('Content-Type: application/octet-stream');
    	header('Content-Disposition: attachment; filename='.basename($chemin));
    	header('Content-Transfer-Encoding: binary');
    	header('Expires: 0');
    	header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    	header('Pragma: public');
    	header('Content-Length: '.filesize($chemin));
    	readfile($chemin);
    	exit;

    ...mêmes problèmes

    Merci de votre aide

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Question bête : as-tu un fichier style.css utilisé quelque part dans ton site ?

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Points : 73
    Points
    73
    Par défaut
    Oui

    Et donc?

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    La supposition la plus logique serait que tu utilises un système de template ou de layout ou quelque chose du genre, qui inclut automatiquement le css en question.
    Et du coup, il se retrouve également inclus dans ton fichier excel.

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Points : 73
    Points
    73
    Par défaut
    Oula,

    voila le début de mon fichier, si ça peut aider...

    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
    <?php 
    ini_set('session.gc_maxlifetime', 3600);
    session_start(); 
    ob_start();?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        <head>
            <meta charset=utf-8 />
    		<meta http-equiv="X-UA-Compatible" content="IE=8,chrome=1">
    		<link rel="shortcut icon" type="image/x-icon" href="pic/icone_sicame.gif" />
            <link rel="stylesheet" type="text/css" href="css/style.css" />
            <title>Portail nouveaux entrants Sicame Group</title>
        </head>
     
    	<body>
    <?php
    include ('model/basic_function.php');

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Ben voilà :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel="stylesheet" type="text/css" href="css/style.css" />
    Il ne faut pas envoyer le header HTML lorsque tu construis ton export Excel.

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Points : 73
    Points
    73
    Par défaut
    Bonjour,

    désolé pour le retard de ma réponse. Dans mon fichiers index.php j'ai ce header en permanance, j'essaie de passer directement via une URL de ce type: href="controler/imprimer_ctrl.php?id=...

    Mais la page n'est pas trouvée.



    Je suis obligé de passer par le index? Je ne m'en souviens plus, et si oui comment faire pour que mon header ne soit pas interprété?

    EDIT: bon oubliez ce que j'ai dit, j'avais une redirection dans mon fichier :p

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Points : 73
    Points
    73
    Par défaut
    Bon j'ai toujours des problèmes comme avant avec le header quand j'ouvre mon fichier, pourtant regardez mon code, pas de header:

    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
    include_once '../model/basic_function.php';
    include_once '../PHPExcel_1.7.9_doc/Classes/PHPExcel.php';
    include_once '../PHPExcel_1.7.9_doc/Classes/PHPExcel/Writer/Excel5.php';
    include_once '../PHPExcel_1.7.9_doc/Classes/PHPExcel/Writer/Excel2007.php';
     
    $dbName = '******';
    $server = 'localhost';
    $username = '******';
    $password = '******';
    if (mySQLConnection($dbName, $server, $username, $password)) {
    	$sal = mysql_fetch_assoc(informationSalarie($_GET['id']));
    	echo 'test';
     
    	$workbook = new PHPExcel;
     
    	$sheet = $workbook->getActiveSheet();
    	$sheet->setCellValue('A1',$sal["nom_salarie"]);
    	$sheet->setCellValue('B2',$sal["prenom_salarie"]);
     
    	$writer = new PHPExcel_Writer_Excel5($workbook);
     
    	header('Content-type: application/vnd.ms-excel');
    	header('Content-Disposition:inline;filename='.$sal["nom_salarie"].'-'.$sal["prenom_salarie"].'-infos-de-base.xls');
    	$writer->save('php://output');
     
        mySQLDeconnection();
    }

    Enfin plutôt si j'ai des header mais c'est pour forcer le téléchargement automatique du fichier. Ca vient de là?

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu ne peux pas écrire : ce que tu écris atterri dans le code du fichier Excel.

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Points : 73
    Points
    73
    Par défaut
    Merci Sabotage mais il doit y avoir d'autres problèmes car c'est toujours pareil

    Même en enlevant la partie BDD:

    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
    include_once '../model/basic_function.php';
    include_once '../PHPExcel_1.7.9_doc/Classes/PHPExcel.php';
    include_once '../PHPExcel_1.7.9_doc/Classes/PHPExcel/Writer/Excel5.php';
    include_once '../PHPExcel_1.7.9_doc/Classes/PHPExcel/Writer/Excel2007.php';
     
    	$workbook = new PHPExcel;
     
    	$sheet = $workbook->getActiveSheet();
    	$sheet->setCellValue('A1',$sal["nom_salarie"]);
    	$sheet->setCellValue('B2',$sal["prenom_salarie"]);
     
    	$writer = new PHPExcel_Writer_Excel5($workbook);
     
    	header('Content-type: application/vnd.ms-excel');
    	header('Content-Disposition:inline;filename=infos-de-base.xls');
    	$writer->save('php://output');

Discussions similaires

  1. [Delphi6 Perso] Fichier manquant : vcl60.pbl
    Par systeme1 dans le forum Delphi
    Réponses: 1
    Dernier message: 17/02/2007, 17h01
  2. Fichier manquant dans compilation
    Par nemo69500 dans le forum Installation, Déploiement et Sécurité
    Réponses: 2
    Dernier message: 25/10/2006, 09h07
  3. Réponses: 1
    Dernier message: 09/07/2006, 21h59
  4. [VC++Express2005] Fichiers manquants
    Par Matthieu Brucher dans le forum MFC
    Réponses: 4
    Dernier message: 03/06/2006, 22h20
  5. Fichier manquant en utilisant une base de données DBF
    Par Stephane Michaud dans le forum Bases de données
    Réponses: 1
    Dernier message: 24/07/2005, 11h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo