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 :

[PHP Excel] Sauvegarde du fichier


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 52
    Par défaut [PHP Excel] Sauvegarde du fichier
    Bonjour,

    Actuellement, j'utilise PhpExcel pour transférer des informations d'une base de données vers un fichier excel 2003 mais je rencontre un problème pour la sauvegarde de ce fichier.

    Le fichier que j'essaie de généré comporte une quantité d'information assez importante. c'est à dire 18000 lignes et 15 colonnes.

    Dans un premier temps pour ce script j'ai du augmenter la valeur memory_limit dans le php.ini pour que le script lise toutes les informations dans ma base de données.

    Le problème que j'arrive pas à résoudre est la fonction save de PhpExcel.
    Puisque mon script s'arrête juste avant.

    Voici mon code :

    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
     
    <?php
     
    	$connect = mysql_connect("localhost", "root", "");
    	mysql_select_db('entreprise');
     
    	$sql = 'select * from ConvertCsvXls';
    	$result = mysql_query($sql);
     
    include 'PHPExcel.php';
    include 'PHPExcel/Writer/Excel5.php';
     
    $workbook = new PHPExcel;
     
    $sheet = $workbook->getActiveSheet();
    $cell = 1;
    while ($donnees = mysql_fetch_array($result))
    	{
    		$sheet->getCell('A'.$cell)->setValueExplicit($donnees['champ1'], PHPExcel_Cell_DataType::TYPE_STRING);
    		$sheet->getCell('B'.$cell)->setValueExplicit($donnees['champ2'], PHPExcel_Cell_DataType::TYPE_STRING);
    		$sheet->getCell('C'.$cell)->setValueExplicit($donnees['champ3'], PHPExcel_Cell_DataType::TYPE_STRING);
    		$sheet->getCell('D'.$cell)->setValueExplicit($donnees['champ4'], PHPExcel_Cell_DataType::TYPE_STRING);
    		$sheet->getCell('E'.$cell)->setValueExplicit($donnees['champ5'], PHPExcel_Cell_DataType::TYPE_STRING);
    		$sheet->getCell('F'.$cell)->setValueExplicit($donnees['champ6'], PHPExcel_Cell_DataType::TYPE_STRING);
    		$sheet->getCell('G'.$cell)->setValueExplicit($donnees['champ7'], PHPExcel_Cell_DataType::TYPE_STRING);
    		$sheet->getCell('H'.$cell)->setValueExplicit($donnees['champ8'], PHPExcel_Cell_DataType::TYPE_STRING);
    		$sheet->getCell('I'.$cell)->setValueExplicit($donnees['champ9'], PHPExcel_Cell_DataType::TYPE_STRING);
    		$sheet->getCell('J'.$cell)->setValueExplicit($donnees['champ10'], PHPExcel_Cell_DataType::TYPE_STRING);
    		$sheet->getCell('K'.$cell)->setValueExplicit($donnees['champ11'], PHPExcel_Cell_DataType::TYPE_STRING);
    		$sheet->getCell('L'.$cell)->setValueExplicit($donnees['champ12'], PHPExcel_Cell_DataType::TYPE_STRING);
    		$sheet->getCell('M'.$cell)->setValueExplicit($donnees['champ13'], PHPExcel_Cell_DataType::TYPE_STRING);
     
    		$cell++;
     
    		echo "$cell.. </br>";
    	}
    echo "Génération du fichier en cours </br>";
    $writer = new PHPExcel_Writer_Excel5($workbook);
    echo "Ecriture du fichier</br>";
    $records = 'fichier1.xls';
    $writer->save($records);
    echo "Génération fichier terminé";
    ?>
    Donc arrivé à la dernière étape, je ne comprend pas d'où peut venir mon problème, est-ce que cela vient de mon serveur web ou de mon script ?

    Merci d'avance.

  2. #2
    Membre averti
    Inscrit en
    Janvier 2003
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 27
    Par défaut
    J'ai le même problème que toi . Je cherche à rajouter des données dans une feuille Excel de 3Mo. La fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $writer->save('I:\SYSTEMES & PROCESS GRANDS COMPTES\Integration_Tenders.xls');
    me donne un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 35 bytes)
    J'ai mis la valeur de post_max_size a 1G dans le php.ini mais ça ne résout pas le problème...

  3. #3
    Membre averti
    Inscrit en
    Janvier 2003
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 27
    Par défaut
    J'avance.
    C'est memory_limit qu'il fallait modifier.
    Maintenant j'ai juste un problème de 'Maximum execution time'. Une modification de cette variable permettra surement de m'en sortir.

Discussions similaires

  1. [PHPExcel] Fusion de fichier getid
    Par leanjocker dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 10/06/2013, 13h07
  2. sauvegarder un fichier excel
    Par Pitou5464 dans le forum Access
    Réponses: 3
    Dernier message: 28/08/2006, 16h03
  3. Sauvegarder un fichier Excel
    Par jarod_bx dans le forum Access
    Réponses: 4
    Dernier message: 29/05/2006, 13h40
  4. pb de sauvegarde de fichier excel
    Par sharpeye dans le forum Access
    Réponses: 7
    Dernier message: 25/11/2005, 16h20

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