Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 14-04-2008 15:59:58

jayden
Membre
Date d'inscription: 07-04-2008
Messages: 5

Excel via php

Bonjour,
J'ai un petit problème pour traiter un fichier csv.En fait j'ai un doc excel de cette forme :

Date||Client||Mission||Tech.||Catégorie||Facturé||Total H.T||Code Réf.||    Description||Qte    PU HT||Remise||Réf||Description||Qte||PU HT||Remise||Réf||Description||Qte||PU HT   ||Remise||Réf||Description||Qte||PU HTRemise||    .....

En fait chaque mot que j'ai écris représente une colone.On a les premières colones qui sont uniques et ensuite il ya des colones qui reviennent plusieurs fois dans le meme ordre c'est parceque ce sont des articles différents pour le meme client à la meme date.Ce que je veux c'est créé une  ligne contenant des infos spécidique du tableaux excel et que chaque articles.Je voudrais un fichier de cette forme que je mettrais à son tour dans un fichier excel.
Article1:Date||Code||Contrat||Client||Mission||Tech.||Catégorie||Réf.||Description||Qte||PU HT||Remise||PU Rem.
Article2:Date||Code||Contrat||Client||Mission||Tech.||Catégorie||Réf.||Description||Qte||PU HT||Remise||PU Rem.
............................................et ainsi de suite
Voilà le code que j'ai commencé à mettre en place.Es-ce que mon raisonement vous parait juste?

[php]
<?php
//Lire le CSV  colonne par colonne
ini_set("auto_detect_line_endings", 1);
$current_row = 1;
$handle = fopen("C:\wamp\www\Maintenance\test.csv", "r");
//boucle pas encore bien défini à suivre demain
foreach ($lines as $line)

while ( ($liste = fgetcsv($handle, 10000, ",") ) !== FALSE )
{ n==0;
// J'enregistre toutes les données dans des variables
//pour être capable de gérer les variables redondantes on incrémente de 5 à chaque tour

      $date[] = $liste[0];
      $code[] = $liste[1];
      $client[] = $liste[2];
      $mission[] = $liste[3];
      $tech[] = $liste[4];     
      $categorie[] = $liste[5];
      $ref[] = $liste[8+n];
      $description[] = $liste[9+n];
      $qte[] = $liste[10+n];
      $puht[] = $liste[11+n];
      n==n+5;   
      $line=$date.$code.$client.$mission.$tech.$categorie.$ref.$description.$qte.$puht;
$fid = fopen('Maintenance.txt','a');

fwrite($fid,"$line\n");

fclose($fid);  }


?>[/php]
Merci d'avance pour votre aide

Hors ligne