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 et excell


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Par défaut php et excell
    Bonjour
    J'aimerai savoir si c'est possible de personnalisé l'affichage d'un fichier excell exporté depuis une base de donnée via.Cet fichier contient le tarif d'appel vers tous les pays d'une base de donnée asterisk
    L'affichage sur excell devra etre de la maniére suivante:

    Destination cout Destination cout Destination cout
    pays1 1 pays3 3 5 5
    pay2 2 pays4 4 6 6

    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
    44
    45
    46
    47
    48
     
    <?php
    session_start();
    // Inclusion des paramètres de connexion à votre base de données
     
     
     require_once('Connections/connex1.php');
      mysql_select_db($database_connex1,$connex1);
    		$insertSQL11 = sprintf("select currency,amount from currency where currency = '".$_SESSION["currency"]."'");
    	$query11 = mysql_query($insertSQL11,$connex1) or die(mysql_error()) ;
    	$row11 = mysql_fetch_row($query11);
    	if ($row11[0] =='Chinese Yuan CN'){
    			$curr =$row11[1] ;
    			$currency ='Yuan';
    			$real_curr ='Chinese Yuan CN';
    	}
    			else{
    			$curr =1 ;
    			$currency ='US $';
    			$real_curr ='US $';
    			}
    // Titre des colonnes de votre fichier .CSV ou .XLS
    $fichier = "Destination; Calling rate(".$currency."); ";
    $fichier .= "\n";
     
    // Requête SQL
    require_once('Connections/connex4.php');
      mysql_select_db($database_connex4,$connex4);
    $sql = "select  destination,rateinitial,id,dialprefix  from cc_ratecard";
    $req = mysql_query($sql,$connex4);
     
    // Enregistrement des résultats ligne par ligne
    while($row = mysql_fetch_object($req))
     
    {
    	$call_rate1 =round(($row->rateinitial*$curr),4) ;
    		 $call_rate = number_format($call_rate1, 4, '.', '');
    		   $buyrate1 =round(($row->buyrate*$curr),4) ;
    		   $buyrate  = number_format($buyrate1, 4, '.', '');
       $fichier .= "".$row->dialprefix.";".$row->destination.";".$call_rate."\n";
    }
     
    // Déclaration du type de contenu
    header("Content-type: application/vnd.ms-excel");
    header("Content-disposition: attachment; filename=rates.csv"); // Remplacer .csv par .xls pour exporter en .XLS
    print $fichier;
    exit;
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ton script a l'air de le faire déjà, qu'est ce qui te manque ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Par défaut
    Oui en ce moment il me laffiche dans ce format

    Destination cout
    pays1 1
    pays2 2
    pays3 3
    pays3 4
    .... ..

    j'aimerai l'afficher au format portrait

    Destination Cout Destination Cout
    pays1 1 pays3 3
    pays2 2 pays4 4

    jusqu'a avoir 4 ou 5 colonnes sur une feuille.
    je ne sais pas si je me suis bien explqué
    merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il faudrait que tu sois précis.
    Tu veux seulement 2 lignes ? sinon, a quel moment a passe a 3 colonnes ?
    etc.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Par défaut
    voila table contient presque 52000 enregistrements si je devais l'imprimer sous excell ca prendrai trop de pages ce que je voudras c'est minimiser le nombre de pages.Doncce que je voudrais c'est mettre la page en mode portrait et sur chaque on aura des colonnes de 2 cad

    Destination cout--Destination Cout--Destination cout--Destination cout --ect.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dest cout -- Dest Cout -- Dest Cout -- Dest Code -- Dest Cout -- Dest Cout
    1     1       5     5      9     9     13    13     17    17     21     21
    2     2       6     6     10    10    14    14     18    18     22     22
    3     3       7     7     11    11    15    15     19    19     23     23
    4     4       8     8     12    12    16    16     20    20     24     24
     
    //la page suivante prendra la suite et ainsi de suite

  6. #6
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Est-ce un simple compteur du nombre de colonnes à atteindre avant de passer à une nouvelle ligne ne serait pas suffisant ?
    Quel que chose du genre :
    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
    $nbColMax = 5; # Nombre de colonnes à atteindre et après changer de ligne
    $xlRow = '';
    $i = 0; 
     
    // Enregistrement des résultats ligne par ligne
    while($row = mysql_fetch_object($req)) {
       $call_rate1  = round(($row->rateinitial * $curr), 4);
       $call_rate   = number_format($call_rate1, 4, '.', '');
       $buyrate1    = round(($row->buyrate*$curr), 4) ;
       $buyrate     = number_format($buyrate1, 4, '.', '');
       $txt         = $row->dialprefix . ';' . $row->destination . ';' . $call_rate;
     
       if (++$i == $nbColMax) {
          $fichier .= $xlRow . $txt . "\n";
          $xlRow = '';
          $i = 0;
       } else {
          $xlRow .= $txt . ';';
       }
    }
     
    # traitement de la fin du dataset
    if ($i > 0) {
       $fichier .= $xlRow;
    }

Discussions similaires

  1. MySQL, PHP et Excel, besoin d'aide !
    Par lynal dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 13/06/2006, 11h12
  2. [Excel] PHP et Excel
    Par gregal dans le forum Bibliothèques et frameworks
    Réponses: 19
    Dernier message: 05/05/2006, 16h26
  3. [Librairies] générer un .csv en php pour excel
    Par allowen dans le forum Langage
    Réponses: 3
    Dernier message: 14/12/2005, 16h40
  4. [PEAR][Spreadsheet] PHP/EXPORT EXCEL : nombre de formats de cellule différents !
    Par joe_le_mort dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 27/10/2005, 17h21

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