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 :

Convertir Fichier Excel avec php


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 62
    Points : 41
    Points
    41
    Par défaut Convertir Fichier Excel avec php
    Bonjour,

    Comment peut-on convertir un fichier Excel du format 3.1 au format 8.0 en php.
    Merci par avance de vos réponses

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 62
    Points : 41
    Points
    41
    Par défaut
    J'ai essayé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $excel = new COM ("Excel.application") or die ('Impossible d\'ouvrir Excel'); //Instanciation de l'objet COM
    $Name='c:\test.xls';
    $excel->Workbooks->Open(''.$Name.'')	// ouvrir xls
        or die ('Impossible d\'ouvrir le modèle');
    $book=$excel->Workbooks(1);//$book contient le classeur actif
    $excel->Workbooks[1]->SaveAs('c:\test.xls', 45);
     
    $excel->Workbooks->Close();//Fermeture du classeur
    $excel->Quit();//On quitte Excel
    unset($excel);//Libération de l'instance $excel
    Mais ca me donne le message d'erreur ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Cannot pass parameter 1 by reference in C:\wamp\www\WebReport\SaveXls.php on line 17
    Si quelqu'un a une idée

  3. #3
    Membre averti
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Points : 390
    Points
    390
    Par défaut
    Elle est où la ligne 17 dont parle l'erreur ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 62
    Points : 41
    Points
    41
    Par défaut
    Bonjour,
    La ligne 17 correspond
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $excel->Workbooks[1]->SaveAs('c:\test.xls', 45);

  5. #5
    Membre averti
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Points : 390
    Points
    390
    Par défaut
    Hum compare ta ligne 16 et 17 ......

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 62
    Points : 41
    Points
    41
    Par défaut
    J' fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $excel = new COM ("Excel.application") or die ('Impossible d\'ouvrir Excel'); //Instanciation de l'objet COM
    $Name='c:\test.xls';
    $excel->Workbooks->Open(''.$Name.'')	// ouvrir xls
        or die ('Impossible d\'ouvrir le modèle');
    $book=$excel->Workbooks(1);//$book contient le classeur actif
    $excel->$book->SaveAs('c:\test.xls', 43);
    $excel->Workbooks->Close();//Fermeture du classeur
    $excel->Quit();//On quitte Excel
    unset($excel);//Libération de l'instance $excel
    et j'obtiens le message ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Catchable fatal error: Object of class variant could not be converted to string in C:\wamp\www\WebReport\SaveXls.php on line 8
    la ligne 8 correspond toujoues au saveas

  7. #7
    Membre averti
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Points : 390
    Points
    390
    Par défaut
    C'est presque ça....

    En gros là t'as $excel qui est ton une classe... et $book qui est une classe

    Si tu met ton classeur 1 dans $book, pas besoin de refaire appel $excel pour faire ton SaveAs()

    Donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $book=$excel->Workbooks(1);//$book contient le classeur actif
    $book->SaveAs('c:\test.xls', 43);

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 62
    Points : 41
    Points
    41
    Par défaut
    Merci pour la réponse mais ca marche toujours
    ca torune pendant un bon moment, ce qui n'est pas normal car le fichier ne fait que quelques Ko de taille.
    finalement la barre de progression dans Internet explorer reste bloquée à 50%

  9. #9
    Membre averti
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Points : 390
    Points
    390
    Par défaut
    C'est un autre problème alors, mais au moins t'utilise la classe correctement (du moins sans erreur fatale)

    Y'a que ça dans ton script ?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 62
    Points : 41
    Points
    41
    Par défaut
    oué, y a que ca
    Franchement, ca devrait pas être compliqué d'ouvrir, d'enregistrer et de refermer un fichier Excel,
    Je comprend pas en VBA ca se fait en 1 seule ligne

  11. #11
    Membre averti
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Points : 390
    Points
    390
    Par défaut
    Bah non c'est pas forcément compliqué, mais dès le début c'est toi qui te planté au niveau de ton code, ça avait rien avoir avec PHP en lui même

    j'utilise phpexcelreader / writer, j'ai jamais eu de problèmes.
    Jamais utilisé les objets com.

    Regarde un peu au niveau de la doc php dans les commentaires si certains en parlent

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 62
    Points : 41
    Points
    41
    Par défaut
    C'est ce que je fais depuis 2 jours, sans succés
    php_Excelwriter : de ce que j'ai compris ce ne permet pas d'ouvrir des fichiers existant
    php_reader : j'a pas compris comment enregistrer un fichier existant dans un emplacement déterminé

Discussions similaires

  1. [Excel] Vérification de la lisibilité d'un fichier
    Par zazou19 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 16/08/2008, 19h02
  2. [Excel] Comment lire des fichiers excel avec php?
    Par dear_rihab dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 02/11/2007, 12h38
  3. Lire un fichier EXCEL avec PHP
    Par lenstoi dans le forum Langage
    Réponses: 2
    Dernier message: 03/09/2007, 12h38
  4. [Excel] Imprimer un fichier excel avec php
    Par amarcil dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 08/06/2006, 20h30
  5. [Excel] Générer des fichiers Excel avec PHP et des données SQL
    Par MaTHieU_ dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 29/03/2006, 15h46

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