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 :

ouverture d'un fichier Excel préalablement enregistrer par PHP


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut ouverture d'un fichier Excel préalablement enregistrer par PHP
    Bonjour,

    J'ai un souci d'ouverture d'un fichier Excel "fichier1.xls" qui a été préalablement enregistrer avec PHP.

    Voici le code d'enregistrement du fichier: (ce code fonctionne)
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    	header("Content-type: application/vnd.ms-excel");
    	header("Content-Disposition: attachment; filename=\"standard.xls\"");
     
    	echo '<TABLE border="1"><TR><TD>Code Article</TD><TD>Désignation Article</TD><TD>Code Fournisseur SRM</TD><TD>Désignation Fournisseur</TD><TD>Prix Standard N+1</TD><TD>Prix Standard N</TD><TD>Prix Standard N-1</TD><TD>Prix Standard N-2</TD><TD>Prix Standard N-3</TD><TD>Prix Budget N+1</TD><TD>Prix Budget N</TD><TD>Prix Budget N-1</TD><TD>Prix Budget N-2</TD><TD>Prix Budget N-3</TD><TD>Status N+1</TD><TD>Année N+1</TD><TD>Année N</TD><TD>Année N-1</TD><TD>Année N-2</TD><TD>Année N-3</TD><TD>Devise</TD><TD>Entreprise</TD><TD>Site</TD><TD>Renseigner</TD></TR>';
     
    	while ($listeStandard=mysql_fetch_assoc($resStandard)) {
    		$codeArt = $listeStandard["code_article"];
    		$desArt = $listeStandard["designation_article"];
    		$codeFour = $listeStandard["code_fournisseur_SRM"];
    		$four = $listeStandard["designation_fournisseur"];
    		$search = array("\t", "\n", "\r");
    		$desArt = str_replace($search, ' ', $desArt);
    		$desArt = str_replace("'","\'", $desArt);
    		$four = str_replace($search, ' ', $four);
    		$four = str_replace("'","\'", $four);
    		$prixStandNP1BDD = str_replace(".",",", $listeStandard['prixStand_NP1']);
    		$prixStandNBDD =  str_replace(".",",", $listeStandard['prixStand_N']);
    		$prixStandNM1BDD =  str_replace(".",",", $listeStandard['prixStand_NM1']);
    		$prixStandNM2BDD =  str_replace(".",",", $listeStandard['prixStand_NM2']);
    		$prixStandNM3BDD =  str_replace(".",",", $listeStandard['prixStand_NM3']);
    		$prixBudgetNP1BDD =  str_replace(".",",", $listeStandard['prixBudget_NP1']);
    		$prixBudgetNBDD =  str_replace(".",",", $listeStandard['prixBudget_N']);
    		$prixBudgetNM1BDD =  str_replace(".",",", $listeStandard['prixBudget_NM1']);
    		$prixBudgetNM2BDD =  str_replace(".",",", $listeStandard['prixBudget_NM2']);
    		$prixBudgetNM3BDD =  str_replace(".",",", $listeStandard['prixBudget_NM3']);
    		$statusNP1BDD = $listeStandard['status_NP1'];
    		$anneeNP1BDD = $listeStandard['anneeNP1'];
    		$anneeNBDD = $listeStandard['anneeN'];
    		$anneeNM1BDD = $listeStandard['anneeNM1'];
    		$anneeNM2BDD = $listeStandard['anneeNM2'];
    		$anneeNM3BDD = $listeStandard['anneeNM3'];
    		$devise = $listeStandard["devise"];
    		$entrepriseBDD = $listeStandard["entreprise"];
    		$siteBDD = $listeStandard["site"];
    		$renseigner = $listeStandard['renseigner'];
     
    		print '<TR>';
    		print '<TD>' .$codeArt.  '</TD>';
    		print '<TD>' .$desArt.  '</TD>';
    			print '<TD>' .$codeFour.  '</TD>';
    			print '<TD>' .$four.  '</TD>';
    			print '<TD>' .$prixStandNP1BDD.  '</TD>';
    			print '<TD>' .$prixStandNBDD.  '</TD>';
    			print '<TD>' .$prixStandNM1BDD.  '</TD>';
    			print '<TD>' .$prixStandNM2BDD.  '</TD>';
    			print '<TD>' .$prixStandNM3BDD.  '</TD>';
    			print '<TD>' .$prixBudgetNP1BDD.  '</TD>';
    			print '<TD>' .$prixBudgetNBDD.  '</TD>';
    			print '<TD>' .$prixBudgetNM1BDD.  '</TD>';
    			print '<TD>' .$prixBudgetNM2BDD.  '</TD>';
    			print '<TD>' .$prixBudgetNM3BDD.  '</TD>';
    			print '<TD>' .$statusNP1BDD.  '</TD>';
    			print '<TD>' .$anneeNP1BDD.  '</TD>';
    			print '<TD>' .$anneeNBDD.  '</TD>';
    			print '<TD>' .$anneeNM1BDD.  '</TD>';
    			print '<TD>' .$anneeNM2BDD.  '</TD>';
    			print '<TD>' .$anneeNM3BDD.  '</TD>';
    			print '<TD>' .$devise.  '</TD>';
    			print '<TD>' .$entrepriseBDD.  '</TD>';
    			print '<TD>' .$siteBDD.  '</TD>';
    			print '<TD>' .$renseigner.  '</TD>';
    			print '</TR>';
    		}
     
    		print '</TABLE>';

    Et voici le code de réouverture du fichier :
    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
     
    include '../connex.php';
    require_once '../Excel/reader.php';
    header('Content-type: text/html; charset=ISO-8859-15');
    header("Cache-Control: no-cache");
     
    // lecture des variable GET
    $fichier = $_GET["fichier"];
    $chemin = $_GET["chemin"];
    $entreprise = $_GET["entreprise"];
    $site = $_GET["site"];
     
    chmod('../'.$chemin.'/'.$fichier, 0777); 
     
    // ExcelFile($filename, $encoding);
    $data = new Spreadsheet_Excel_Reader();
     
    // Set output Encoding.
     
    $data->setOutputEncoding('ISO-8859-15');
     
     
    if ($site!=""){
    	$data->read('../STANDARD/'.$entreprise.'/'.$site.'/'.$fichier);
    }else{
    	$data->read('../STANDARD/'.$entreprise.'/'.$fichier);
    }
    En fait il bloque au niveau du read il me met l'erreur suivante:
    [Break on this error] The filename ../STANDARD/MSCOMPOSITES/LIEVIN/standard.xls is not readable

    Lorsque je copie le contenue du fichier excel "fichier1.xls" vers un nouveau fichier excel "fichier2.xls", j'ouvre le nouveau fichier excel "fichier2.xls" avec PHP et cela fonctionne très bien.

    Je me suis dis que c'etait les droits du fichier mais ils sont les mêmes.

    Par contre j'ai remarqué que dans le fichier que je n'arrive pas à ouvrir "fichier1.xls" il y a dans Outils - Options - onglet Général - Options Web - Onglet Codage dans la première liste on a Europe Occidentale (Windows) et que dans le nouveau fichier "fichier2.xls" cette liste est grisé et il n'y a rien dedans. Est-ce à cause de cela?

    Merci d'avance

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    Un document Excel, ça contient vraiment du HTML ?

    Tu ne peux pas télécharger ton fichier et l'ouvrir avec le "vrai" Excel ?
    Le script d'ouverture fonctionne avec un fichier créé par Excel ? (et non par ton script)

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Alors pour créer le fichier excel je fais bien du HTML (il n'y a pas de souci)

    En fait je veux ouvir le fichier excel pour enregistrer les données dans mysql.
    Et le script comme tu le dis fonctionne avec un fichier crée par excel et non par mon script.

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/06/2015, 17h24
  2. [XL-2010] Ouverture d'un fichier Excel par VBA
    Par cameleon1970 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/04/2012, 12h35
  3. ouverture d'un fichier excel par une macro
    Par gaihdriah dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 11/02/2009, 12h16
  4. [Excel] Lecture d'un fichier excel sous linux par php
    Par marcandre dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 13/07/2008, 16h45
  5. Ouverture d'un fichier Excel en VBA par Access
    Par illight dans le forum Access
    Réponses: 2
    Dernier message: 02/11/2005, 11h14

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