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] Convertir XML


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2013
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 23
    Points : 7
    Points
    7
    Par défaut [PHPExcel] Convertir XML
    Bonjour,
    Suite à ma lecture de l'article : http://g-ernaelsten.developpez.com/tutoriels/excel2007/, j'ai voulu tester le code. Ce qui me surprend c'est que je n'obtiens aucun résultat en testant le 3.1. Etendre PHPExcel de l'article avec ce qui a été fournit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    include 'MaitrePylosExcel.php';
     
    $workbook = new MaitrePylosExcel();
     
    $sheet = $workbook->getActiveSheet();
    $sheet->setCellValue('A1','MaitrePylos');
     
    $workbook->affiche('Excel2007','MonPremierFichier');
    J'ai vérifié mes log apaches et je n'ai aucune erreur. Je vois nulle part dans mes répertoire le fichier xls généré. 'MonPremierFichier' est un fichier txt dans mon cas avec quelque enregistrement.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Normalement il est ouvert à la volée, n'avez vous pas une sécurité pour empêcher cela ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2013
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 23
    Points : 7
    Points
    7
    Par défaut page blanche
    Dans mon url, j'ai : http://localhost/test/data/MaitrePylosExcel.php

    Dans MaitrePylosExcel.php, j'ai votre classe et instanciation. Dans mon repertoire data, j'ai MaitrePylosExcel.php et MonPremierFichier.txt.
    MonPremierFichier.txt contient : lundi mardi mercredi jeudi vendredi samedi dimanche.

    Lors que j'actualise ma page courante avec http://localhost/test/data/MaitrePylosExcel.php, j'ai une page blanche.

    Merci pour votre aide.

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Je crois que vous vous embrouillez un peu.

    mettez le code suivant dans un fichier test.php se trouvant dans votre répeertoire /data

    et lancer le fichier test.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    include 'MaitrePylosExcel.php';
     
    $workbook = new MaitrePylosExcel();
     
    $sheet = $workbook->getActiveSheet();
    $sheet->setCellValue('A1','MaitrePylos');
     
    $workbook->affiche('Excel2007','MonPremierFichier');

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2013
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 23
    Points : 7
    Points
    7
    Par défaut
    En regardant dans les log apache, j'ai le message suivant :
    127.0.0.1 - - [14/May/2014:17:08:04 +0200] "GET /test/data/test.php HTTP/1.1" 500 -
    Cela me surprend car pour les autres scripts php, tout fonctionne.

  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2013
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 23
    Points : 7
    Points
    7
    Par défaut
    A présent, j'ai bien une feuille xls qui s'ouvre mais sans les enregistrement. Mon fichier a les enregistrements suivants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    lundi mardi mercredi jeudi vendredi samedi dimanche
    lundi mardi mercredi jeudi vendredi samedi dimanche
    lundi mardi mercredi jeudi vendredi samedi dimanche
    lundi mardi mercredi jeudi vendredi samedi dimanche
    lundi mardi mercredi jeudi vendredi samedi dimanche

  7. #7
    Futur Membre du Club
    Inscrit en
    Août 2013
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 23
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    J'ai donc à présent un affichage sauf que celui-ci ne ressemble à rien (pour Excel5). J'ai regardé les différents commentaires. Je vois que d'autres ont eu ce souci. Toutefois, je n'ai pas encore trouvé.
    Pour Excel2007, j'ai le message d'erreur suivant "Impossible d'ouvrir le fichier car son format ou extension n'est pas valide".

  8. #8
    Futur Membre du Club
    Inscrit en
    Août 2013
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 23
    Points : 7
    Points
    7
    Par défaut
    J'ai parcouru l'ensemble des commentaires du post, je n'ai pas trouvé de solution à ce souci d'affichage. Le code est identique à celui que vous avez fourni. Une idée ?

  9. #9
    Futur Membre du Club
    Inscrit en
    Août 2013
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 23
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Bon au format CSV, cela fonctionne. Pour tous les autres, l'affichage ne fonctionne pas. Maintenant j'ai l'erreur suivante :

    Fatal error: Call to a member function getActiveSheet() on a non-object in C:\xampp\htdocs\www\test\data\sc26xml2excel.php on line 11

    Mon fichier est en xml. Le code appelé dans test.php est :

    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
     
    function sc26xml2excel ($file,&$workbook) {
     
    if(file_exists($file)) {
    $SC26 = simplexml_load_file($file);
    echo "$file";
    } else {
    exit('Echec lors de l\'ouverture du fichier $file .');
    }
    $sheet = $workbook->getActiveSheet();
    $sheet->setCellValue('A1',$SC26->IdDem);
    $sheet->setCellValue('A2',$SC26->HORInfo);
    $sheet->setCellValue('A3',$SC26->TypeEvenement);
    $sheet->setCellValue('A4',$SC26->CodeGdoDS);
    $sheet->setCellValue('A5',$SC26->PointRaccordementK);
    $sheet->setCellValue('A6',$SC26->MoyCreditCPLMoyPDCNonCom);
    $sheet->setCellValue('A7',$SC26->PcentAvencementGrappe);
     }
     sc26xml2excel($_GET['namefile'],$workbook);
    ?>

  10. #10
    Futur Membre du Club
    Inscrit en
    Août 2013
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 23
    Points : 7
    Points
    7
    Par défaut xml->excel
    Bonjour,

    M'appuyant toujours sur la classe du tutoriel, je tente d’insérer dans un excel le contenu d'un fichier xml. L'affichage se fait à présent en revanche mais celui-ci a plein de caractère parasite. En outre un passage à la ligne se fait sans que je l'ai implicitement demandé et le changement de colonne ne se fait pas. Une idée ?
    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
    <?php
     
    function sc26xml2excel ($file,&$workbook) {
    if(file_exists($file)) {
     
    $XML = simplexml_load_file($file);
    $sheet = $workbook->getActiveSheet();
     
    $colonne = 0;
     
     
    foreach($XML->children() as $level1){
     
    $sheet->setCellValueByColumnAndRow($colonne++,1,$level1);
     
     foreach($level1->children() as $level2) {
     
     $sheet->setCellValueByColumnAndRow($colonne++,1,$level2);
     
       foreach($level2->children() as $level3) {
     
       $sheet->setCellValueByColumnAndRow($colonne++,1,$level3);
     
        }
       }
     }
    } else {
    exit('Echec lors de l\'ouverture du fichier $file .');
     }
    }
     
    sc26xml2excel($_GET['namefile'],$workbook);
    ?>

  11. #11
    Futur Membre du Club
    Inscrit en
    Août 2013
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 23
    Points : 7
    Points
    7
    Par défaut
    Mon fichier à transformer en excel est :

    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
     
    <SCC>
          <Id>23575783</Id>
          <HO>2014-05-07T05:30:12.403+02:00</HO>
          <Type>ACCES</Type>
          <Code>69384R4043</CodeGdoDS>
          <Point>BLBT</Point>
          <Moy>0</Moy>
          <Liste>
            <Ids>19142981026895</Ids>
            <Phase>3</Phase>
            <HOR>2014-05-07T05:14:49.000+02:00</HOR>
          </Liste>
          <Liste>
            <Ids>19116787105598</Ids>
            <Phase>2</Phase>
            <HOR>2014-05-07T05:15:05.000+02:00</HOR>
          </Liste>
          <Liste>
            <Ids>19149059174411</Ids>
            <Phase>1</Phase>
            <HOR>2014-05-07T05:15:18.000+02:00</HOR>
          </Liste>
          <Liste>
            <Ids>19122865252674</Ids>
            <Phase>2</Phase>
            <HOR>2014-05-07T05:15:32.000+02:00</HOR>
          </Liste>
          <Liste>
            <Ids>19122720534820</Ids>
            <Phase>1</Phase>
            <HOR>2014-05-07T05:15:34.000+02:00</HOR>
          </Liste>
          <Liste>
            <Ids>19147901432001</Ids>
            <Phase>2</Phase>
            <HOR>2014-05-07T05:17:08.000+02:00</HOR>    
    </SCC>

Discussions similaires

  1. Convertir xml utf-8 en ISO 8859-1
    Par riadh2406 dans le forum ASP
    Réponses: 1
    Dernier message: 16/12/2009, 10h56
  2. convertir XML en XMI
    Par Pikouse dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 20/04/2009, 11h22
  3. [XSLT] Convertir XML to HTML
    Par gargantua dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 31/03/2009, 16h10
  4. Convertir xml en csv
    Par antitrust56 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 12/11/2008, 09h43
  5. [DOM XML] Convertir xml file dans DB mySQL
    Par patayotte dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 29/11/2006, 14h17

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