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

Biblioth�ques et frameworks PHP Discussion :

PHPExcel et impression automatique


Sujet :

Biblioth�ques et frameworks PHP

  1. #1
    Membre confirm�
    Homme Profil pro
    Cobol sur Mainframe et Unix AIX
    Inscrit en
    Mars 2012
    Messages
    196
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Cobol sur Mainframe et Unix AIX

    Informations forums :
    Inscription : Mars 2012
    Messages : 196
    Par d�faut PHPExcel et impression automatique
    Bonjour,

    Le but serait d'avoir un minimum de manipulation pour l'utilisateur.
    Pour mon club de plong�e, nous devons effectuer une Inpection Visuelle tous les ans.
    Il existe un fichier Excel qu'ils utilisent.
    J'aimerai alimenter ce fichier Excel avec les donn�es de la bouteille pour ensuite l'imprimer automatiquement, avoir le moins de manipulation possible (plus de 300 blocs).

    Auriez vous une id�e comment faire ?


    Pour le moment, je passe par un document PDF pour ensuite esp�rer l'afficher dans un nouvel onglet et que l'utilisateur fasse l'impression.
    Mais l�, je bloque sur l'enregistrement en PDF.

    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
    <?php
    echo "<h1a>Test feuille Excel</h1A>";
    /** Error reporting */
    error_reporting(E_ALL);
     
    /** PHPExcel */
    include 'classes/PHPExcel.php';
     
    /** PHPExcel_Writer_Excel2007 */
    include 'classes/PHPExcel/Writer/Excel2007.php';
    include 'classes/PHPExcel/Writer/Excel5.php';
    include 'classes/PHPExcel/Writer/PDF.php';
     
    // Créer un nouvel objet PHPExcel
    echo "<br>" . date('H:i:s') . " Create new PHPExcel object\n";
    $objPHPExcel = new PHPExcel();
     
    $objet = new PHPExcel_Reader_Excel5();
    echo "<br>" . date('H:i:s') . " objet PHPExcel";
     
    $Repertoire = "documents/TIV/";
    $FicherXLS =  $Repertoire . "Feuille_IV.xls";
    $objPHPExcel = $objet->load($FicherXLS);
    // Ajoutons quelques données
    echo "<br>" . date('H:i:s') . " après cahrgement du fichier $FicherXLS";
     
    $objPHPExcel->setActiveSheetIndex(0);
    $objPHPExcel->getActiveSheet()->SetCellValue('E3', '2013-01');
    $objPHPExcel->getActiveSheet()->SetCellValue('G3', '25/01/2013');
    $objPHPExcel->getActiveSheet()->SetCellValue('C1', 'Hello');
    $objPHPExcel->getActiveSheet()->SetCellValue('D2', 'world!');
     
    echo "<br>" . date('H:i:s') . " avant Writer PDF";
    // Enregistrer en PDF, mon problème
    $objWriter  = new PHPExcel_Writer_PDF($objPHPExcel);
    echo "<br>" . date('H:i:s') . " après Writer PDF";
    $objWriter->save('Test12.pdf');
    echo "<br>" . date('H:i:s') . " asave PDF";
     
    // Enregistrer le tout dans un document .xls
    echo "<br>" . date('H:i:s') . " Write to Excel2007 format\n";
    $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
    $objWriter->save('Test12.xls');
    ?>
    �a bloque au niveau de : $objWriter = new PHPExcel_Writer_PDF($objPHPExcel);
    en sortie j'ai ceci :
    Test feuille Excel
    06:28:28 Create new PHPExcel object
    06:28:28 objet PHPExcel
    06:28:28 apr�s cahrgement du fichier documents/TIV/Feuille_IV.xls
    06:28:28 avant Writer PDF
    Merci pour votre aide.

    Eddy

  2. #2
    Membre confirm�
    Homme Profil pro
    Cobol sur Mainframe et Unix AIX
    Inscrit en
    Mars 2012
    Messages
    196
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Cobol sur Mainframe et Unix AIX

    Informations forums :
    Inscription : Mars 2012
    Messages : 196
    Par d�faut
    Je pense qu'il manquait ceci.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    header('Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment;filename="recap-'.date('Y-m-d').'.xlsx"');
    header('Cache-Control: max-age=0');
    J'arrive � afficher le fichier Excel ... mais en petit.
    Je vais tenter de l'ouvrir dans un autre onglet

  3. #3
    Membre confirm�
    Homme Profil pro
    Cobol sur Mainframe et Unix AIX
    Inscrit en
    Mars 2012
    Messages
    196
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Cobol sur Mainframe et Unix AIX

    Informations forums :
    Inscription : Mars 2012
    Messages : 196
    Par d�faut
    Bon, j'avance.
    Je peux afficher ma feuille Excel modifi�e sur la page web, certe, petit, mais bon, c'est d�j� �a.

    Voici mon bout de code pour exporter au format PDF :
    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
    48
    49
    50
    51
    52
    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
    ini_set('display_startup_errors', TRUE);
    date_default_timezone_set('Europe/Paris');
     
    /** Include PHPExcel_IOFactory */
    require_once 'classes/PHPExcel/IOFactory.php';
    require_once 'classes/PHPExcel/Writer/PDF.php';
     
    require_once 'classes/PHPExcel/Writer/PDF/DomPDF.php';
     
    require_once 'fonctions/fonctions_user.php';
    require_once 'fonctions/Dates.php';
    require_once 'classes/class_constantes.php';
    require_once 'fonctions/fonctions_generales.php';
     
    $Afficher_Trace = Recup_Param("TRACE", "materiel_bloc_Feuille_IV_xls", "");
    if ($Afficher_Trace == "O") {
        $TRACE = TRUE;
    }
    else {
        $TRACE = FALSE;
    }
     
    require_once 'classes/class_materiel.php';
    $Class_Materiel = new materiel($GLOBALS['bdd']);
     
    require_once 'classes/class_licencies.php';
    $Class_Licencies = new licencies($GLOBALS['bdd']);
     
    require_once 'classes/class_fabricant.php';
    $Class_Fabricants = new fabricant($GLOBALS['bdd']);
     
    $Repertoire = "documents/TIV/";
    $FicherXLS =  $Repertoire . "Feuille_IV.xls";
    if (!file_exists($FicherXLS)) {
        echo "<h2 id='msgerror'>Le fichier $FicherXLS est inconnu.<br>Merci de voir avec le service informatique</h2>";
        die();
    }
     
     
    $rendererName = PHPExcel_Settings::PDF_RENDERER_DOMPDF;
    $rendererLibrary = 'autoload.inc.php';
    $rendererLibraryPath = 'DomPDF/' . $rendererLibrary;
     
    if (!PHPExcel_Settings::setPdfRenderer($rendererLibrary,$rendererLibraryPath)){
        die(
            "<h2 id='msgerror'>NOTICE: Please set the $rendererName and $rendererLibraryPath values" .
            "<br />" .
            "at the top of this script as appropriate for your directory structure</h2>"
            );
    }
    Seulement, il ne trouve pas ma biblioth�que : if (!PHPExcel_Settings::setPdfRenderer($rendererLibrary,$rendererLibraryPath)){

    Mon projet est arbor� comme ceci :
    /core/pages : contient mes pages php, dont celle que qui contient ce script
    /classes : contient les classes, et toutes les r�pertoires des classes, dont PHPExcel
    /DomPDF

    Auriez-vous une id�e ?

    C'est bien la biblioth�que DomPDF qui est � la racine que je dois mettre ?

    Merci.

    Eddy

  4. #4
    Expert confirm�
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 672
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 672
    Par d�faut
    si vous n'arrivez pas � avancer avec cette biblioth�que, il sera peut-�tre plus pratique d'exporter la feuille au format csv et d'utiliser fpdf pour g�n�rer le r�sultat en pdf :
    http://fpdf.org/fr/script/script92.php

  5. #5
    Membre confirm�
    Homme Profil pro
    Cobol sur Mainframe et Unix AIX
    Inscrit en
    Mars 2012
    Messages
    196
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Cobol sur Mainframe et Unix AIX

    Informations forums :
    Inscription : Mars 2012
    Messages : 196
    Par d�faut
    Merci Mathieu d'avoir pris le temps de r�pondre.
    Mais, l�, on perd l'int�r�t du format Excel qui a d�j� toutes les colonnes de format�es, les polices, les couleurs, ....
    Et il faut donc construire le document PDF � partir du fichier Excel.
    C'est justement ce que je voudrais �viter.

  6. #6
    Expert confirm�
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 672
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 672
    Par d�faut
    j'attendais des r�ponses d'autres membres du forum mais personne n'a l'air d'avoir d'id�e pour votre souci. donc je reviens vous proposer autre chose.

    les tableurs sont surtout optimis�e pour fonctionner de fa�on autonome avec les autres logiciels de la m�me suite. et ils sont plus compliqu�s quand il s'agit de communiquer avec l'ext�rieur, avec un site ou un autre logiciel.
    donc une autre piste serait de faire votre mise en forme dans le tableur lui m�me, avec le langage de macro.

Discussions similaires

  1. impression automatique en mfc
    Par nikus_knx dans le forum MFC
    R�ponses: 3
    Dernier message: 10/04/2006, 11h38
  2. Impression automatique
    Par maximdus dans le forum API, COM et SDKs
    R�ponses: 2
    Dernier message: 27/03/2006, 17h23
  3. [Javascript] Gerer impression automatique de document
    Par amarcil dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 28/02/2006, 15h08
  4. Impression automatique
    Par Poussy-Puce dans le forum ASP
    R�ponses: 1
    Dernier message: 09/02/2006, 10h36
  5. Impression automatique involontaire d'un �tat
    Par Celia1303 dans le forum Access
    R�ponses: 5
    Dernier message: 26/10/2005, 23h29

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