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

Symfony PHP Discussion :

Affichage tableau dans twig sans indice [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 37
    Points : 48
    Points
    48
    Par défaut Affichage tableau dans twig sans indice
    Bonjour à tous,

    J'initialise un tableau avec une boucle for depuis un classeur Excel dans mon contrôleur que j'envoie en retour dans mon twig.

    Ok tout marche, mais quand je veux afficher mon tableau j'ai automatiquement l'indice en première colonne. Quelle syntaxe utiliser pour n'avoir que mes données ?

    Le code du contrôleur:
    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
    	public function lireFeuilleAction($feuillA = 0, $feuillB = 0)
    	{
    		$em1 = $this->container->get('doctrine')->getEntityManager();
     
    		$fichA = "C:\Documents and Settings\bzn\Bureau\PHPExcel-Tests\FichierA.xls";
    		$fichB = "C:\Documents and Settings\bzn\Bureau\PHPExcel-Tests\FichierB.xls";
     
    		//Création de l'objet reader
    		$xls_service =  $this->container->get('xls.load_xls5');
     
    		$excelObj_A = $xls_service->load($fichA);
    		$excelObj_B = $xls_service->load($fichB);
     
     
    		//Récupération des dernières lignes et colonnes du classeur A
    		$objWorksheet_A = $excelObj_A->getSheet($feuillA);
    		$highestRow_A = $objWorksheet_A ->getHighestRow();
    		$highestColumn_A = $objWorksheet_A ->getHighestColumn();
     
    		//Récupération des dernières lignes et colonnes du classeur B
    		$objWorksheet_B = $excelObj_B->getSheet($feuillB);
    		$highestRow_B = $objWorksheet_B ->getHighestRow();
    		$highestColumn_B = $objWorksheet_B ->getHighestColumn();
     
    		//Création de l'objet writer
    		$obj2 = new \PHPExcel_Writer_Excel5($excelObj_B);
     
    		$colA = 1;
    		$colB = 1;
    		$colAsort = $colA + 2;
    		$compt = 0;
     
    		for ($rowA = 3; $rowA <= $highestRow_A; $rowA++)
    		{
    			$valA = $objWorksheet_A->getCellByColumnAndRow($colA, $rowA)->getValue();
    			for ($rowB = 3; $rowB <= $highestRow_B; $rowB++)
     
    			{
    				$valB = $objWorksheet_B->getCellByColumnAndRow($colB, $rowB)->getValue();
     
    				if($valA == $valB)
    				{
    					$valAsort = $objWorksheet_A->getCellByColumnAndRow($colAsort, $rowA)->getValue();
    				$compt++;// $compt =+1;
    										$tab[] = array($rowB,3,$valAsort);
     
    					//J'écris dans le classeur Excel
    					$excelObj_B->setActiveSheetIndex($feuillB);
    					$excelObj_B->getActiveSheet()->setCellValueByColumnAndRow(3, $rowB, $valAsort);
    				}
    			}
    		}
     
    //Test d'écriture dans le classeur Excel
    		//$excelObj_B->setActiveSheetIndex(0)->setCellValueByColumnAndRow(0, 1, $valA);
     
    		//Enregistrement du fichier Excel
    		$obj2->save($fichB);
     
    		//Retour du tableau		
    return $this->container->get('templating')->renderResponse('MyAppFilmothequeBundle:Excel:lireFeuille.html.twig.twig',
    				array(
    						'tab' => $tab
    				));
    	}
    Le code de ma vue twig
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	<table border=1>
    		{% for a, b in tab %}
    		<tr>
    		  <td>{{ a }}</td>
    		 {% for strb in b %}
    		    <td>{{ strb }}</td>
    		  {% endfor %}
    		  </tr>
    		{% endfor %}
    	</table>
    Résultat obtenu:

    0 15 3 AAA
    1 3 3 BBB
    2 10 3 CCC
    3 9 3 DDD

    Ce que j'aurais aimé avoir:
    15 3 AAA
    3 3 BBB
    10 3 CCC
    9 3 DDD

    Merci les gars et @ +++

    Kris63

  2. #2
    Membre régulier Avatar de flutz
    Homme Profil pro
    Ingénieur d'études et développement
    Inscrit en
    Juin 2010
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur d'études et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 52
    Points : 70
    Points
    70
    Par défaut
    Je n'ai pas regardé ton contrôleur, mais dans le twig tu fais :
    Code vue twig : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <table border=1>
    	{% for a, b in tab %}
    		<tr>
    			<td>{{ a }}</td>
    			{% for strb in b %}
    				<td>{{ strb }}</td>
    			{% endfor %}
    		</tr>
    	{% endfor %}
    </table>

    Or a c'est l'index de ta table et b la valeur, donc pourquoi affiches-tu l'index?
    Normalement en supprimant ça tu ne devrais plus avoir de problème (Donc aucun rapport avec Excel)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <table border=1>
    	{% for t in tab %}
    		<tr>
    			{% for strb in t %}
    				<td>{{ strb }}</td>
    			{% endfor %}
    		</tr>
    	{% endfor %}
    </table>
    Il y a souvent confusion entre les geeks, les nolifes, et les
    nerds.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 37
    Points : 48
    Points
    48
    Par défaut
    Salut flutz,

    En fait, j'avais fait comme toi, mais je n'avais que l'indice, du coup j'ai essayé une autre syntaxe, mais ça plantait.

    Je pense que j'ai du faire une erreur de syntaxe à mon premier essai.

    En tout cas, ça marche impec.

    1000 mercis à toi.

    @ +++

    Kris63

  4. #4
    Membre régulier Avatar de flutz
    Homme Profil pro
    Ingénieur d'études et développement
    Inscrit en
    Juin 2010
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur d'études et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 52
    Points : 70
    Points
    70
    Par défaut
    De rien, ça fait toujours plaisir de se rendre utile
    Il y a souvent confusion entre les geeks, les nolifes, et les
    nerds.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage Tableau dans JSP
    Par Kilik75 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 18/03/2015, 08h40
  2. [2.x] Affichage dans twig d'un tableau de droits
    Par patrick1007 dans le forum Symfony
    Réponses: 0
    Dernier message: 11/07/2014, 18h10
  3. [PHP 4] Affichage tableau dans la page
    Par Marc31 dans le forum Langage
    Réponses: 5
    Dernier message: 09/01/2013, 17h55
  4. Combo avec affichage tableau dans une même fenêtre
    Par Caroline38 dans le forum WinDev
    Réponses: 23
    Dernier message: 30/04/2012, 08h55
  5. Problème d'affichage tableau dans une page wordpress
    Par aubery dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 21/03/2012, 21h57

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