Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework
Zend Framework Forum d'entraide sur la programmation PHP avec Zend Framework. Avant de poster -> FAQ ZF, Cours ZF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/04/2011, 21h44   #1
Invité régulier
 
Inscription : mars 2011
Messages : 23
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 23
Points : 8
Points : 8
Par défaut ZEND & PHPExcel

Bonjour,

Je voudrais pouvoir uploader et lire des fichiers excel et ensuite placer les donnees dans une base SQL.

Mon site web tourne en Zend Framework.
Je pense que PHPExcel peut m'offrir la solution, mais pas moyen de trouver un tuto expliquant comment faire ?? ca fait 1 demi journee que je cherche...

J'ai télécharger phpexcel, j'ai placer le contenu de /classes/* dans /library/phpexcel/ et dans mon /public/index.php

Code :
1
2
3
4
5
set_include_path('.'
    . PATH_SEPARATOR . '../library'
    . PATH_SEPARATOR . '../library/phpexcel/'
    . PATH_SEPARATOR . '../application/models/'
    . PATH_SEPARATOR . get_include_path());
Maintenant, j'ai vu sur ce site d'apres maitrepylos ( http://www.developpez.net/forums/d86...el-autoloader/ ) qu'il fallait cree une classe, mais on la cree ou ? on la nomme comment ? on l'inclus comment ??


Pour la suite, il dit qu'il faut cree un dossier My_ (on le met ou? il sert a quoi ?)


Enfin bref, j'ai beaucoup de mal en Zend parce qu'il n'y a pas vraiment de tuto clair a la sauce siteduzero ): et je pense aussi manque de certaine notions au niveau des classes, des -> et de tout ce chmilblique :p
iamslyper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 00h30   #2
Invité régulier
 
Inscription : mars 2011
Messages : 23
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 23
Points : 8
Points : 8
J'ai tester ce code avec easyphp sans zend en placant le fichier test.php dans Tests.php qui se trouve dans www/PHPExcel
Code :
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
<?php
        require_once '../phpexcel/PHPExcel.php';
        require_once '../phpexcel/PHPExcel/IOFactory.php';
 
        $objReader = new PHPExcel_Reader_Excel5();
        $objReader->setReadDataOnly(true);
 
        $objPHPExcel = $objReader->load( dirname(__FILE__).'/IMPORT.xls');
        $rowIterator = $objPHPExcel->getActiveSheet()->getRowIterator();
 
        $array_data = array();
 
		echo '<br>Data: <table>';	
		// parcours des lignes : 
        foreach($rowIterator as $row)
		{
            $cellIterator = $row->getCellIterator();
            $cellIterator->setIterateOnlyExistingCells(false); // Loop all cells, even if it is not set
			// skip first row
            // if(1 == $row->getRowIndex ()) continue;
            $rowIndex = $row->getRowIndex ();
 
			// parcours des colonnes :
			echo '<tr>';
            foreach ($cellIterator as $cell) 
			{
 
				echo '<td>';
                $array_data[$rowIndex][$cell->getColumn()] = $cell->getCalculatedValue(); 
				echo $array_data[$rowIndex][$cell->getColumn()];
				echo '</td>';
            }
			echo '</tr>';
 
		}
		echo '</table>';
?>
Cela fonctionne NICKEL.
Mais, une fois que je dois le place dans mon site en zend, cette sal*****(et je pèse mes mots parce que ça fait une journée que je m'acharne dessus) ne fonctionne plus.

Voici les modif apportee(en gras) :
Code :
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
        require_once 'phpexcel/PHPExcel.php';
        require_once 'phpexcel/PHPExcel/IOFactory.php';
     
        $objReader = new PHPExcel_Reader_Excel5();
        $objReader->setReadDataOnly(true);

      //  $objPHPExcel = $objReader->load( $this->baseUrl() . '/IMPORT.xls');
        $objPHPExcel = $objReader->load( dirname(__FILE__).'/IMPORT.xls');
     
        $rowIterator = $objPHPExcel->getActiveSheet()->getRowIterator();

        $array_data = array();

        echo '<br>Data: <table>';
        // parcours des lignes :
        foreach($rowIterator as $row)
        {
            $cellIterator = $row->getCellIterator();
            $cellIterator->setIterateOnlyExistingCells(false); // Loop all cells, even if it is not set
            // skip first row
            // if(1 == $row->getRowIndex ()) continue;
            $rowIndex = $row->getRowIndex ();

            // parcours des colonnes :
            echo '<tr>';
            foreach ($cellIterator as $cell)
            {

                echo '<td>';
                $array_data[$rowIndex][$cell->getColumn()] = $cell->getCalculatedValue();
                echo $array_data[$rowIndex][$cell->getColumn()];
                echo '</td>';
            }
            echo '</tr>';

        }
        echo '</table>';
J'ai deplacer IMPORT.xls dans : /public/IMPORT.xls pour tester...
iamslyper est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h25.


 
 
 
 
Partenaires

Hébergement Web