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 :

[PHPExcel] Plusieurs problèmes


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Par défaut [PHPExcel] Plusieurs problèmes
    Bonjour,je suis en fait en stage dans une entreprise qui propose des enquêtes. J'ai comme tache de générer un fichier Excel contenant les horaires des jours de la semaine de (lundi à vendredi donc) dans le même style que l'image. Pour cela j'ai trouvé la bibliothèque PHPExcel. J'arrive à créer une feuille la formater les cellules et mettre les informations que je veux. Mais c'est là qu'à moi ce pose quelques problèmes:

    les premiers concernent plus PHP en lui même :
    Les données sont extraite d'une base de données.
    Je voudrais pouvoir faire plusieurs boucles une avec les identifiant (les chiffres à gauche), une autre qui me génère un jour un jour comme dans l'image.

    Pour afficher les r, o,p (qui peuvent être remplacés par n'importe quoi) je ne sais pas comment faire avec une fonction peut-être mais comment ?
    Ensuite pour calculer les r, o et les p j'ai la formule ,mais quand je génère le fichier la formule passe de'=NB.SI(D6:D20; "r")' à '=nb.si(D6:D20; "r")' du coup Excel m'indique une erreur. Et aussi est-il possible d'étendre une formule avec PHPExcel ?

    Pour la police, les couleurs ect , sont optionnels je le ferais si et seulement si j'ai encore le temps pour le faire.
    Si j'en demande trop merci de me le dire.
    Je ne cherche pas à ce qu'on fasse le travail à ma place ,mais des conseils et des pistes.
    Merci d'avance.
    Images attachées Images attachées  

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Salut, si tu es toujours d'attaque je veux bien t'aider.

    Explique moi mieux ça :

    Je voudrais pouvoir faire plusieurs boucles une avec les identifiant (les chiffres à gauche), une autre qui me génère un jour un jour comme dans l'image.

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Par défaut
    En fait mon professeur tuteur est intervenu est m'a fait changer de tache je dois juste maintenant afficher une requête sql dans un fichier excel.
    Je m'excuse de ne pas avoir mis à jour le topic et je ne pouvais plus éditer mon post.

    Mais rencontrant d'autre soucis je me permet de continuer de poster dans cette discussion au lieu d'en créer une nouvelle:

    j'ai réussis afficher ma requête dans le fichier excel mais maintenant je souhaiterais ajouter une formule : =NB.SI(AA:AA;"*accueil*"),
    mais PHPExcel de semble pas vouloir la traiter, on m'a dit de voir si en VO elle passait j'ai donc essayé avec COUNTIF mais j'obtiens le même résultat.

    je voudrais aussi alléger mon code dont en voici une partie
    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
    66
    67
    68
    69
    70
    71
    72
    $sheet->setCellValueByColumnAndRow(0,1,'identifiant' );
                    $sheet->setCellValueByColumnAndRow(1,1,'code' );
                    $sheet->setCellValueByColumnAndRow(2,1,'sexe' );
                    $sheet->setCellValueByColumnAndRow(3,1,'age' );
                    $sheet->setCellValueByColumnAndRow(4,1,'composition' );
                    $sheet->setCellValueByColumnAndRow(5,1,'nombreEnfants_3ans' );
                    $sheet->setCellValueByColumnAndRow(6,1,'nombreEnfants_matpri' );
                    $sheet->setCellValueByColumnAndRow(7,1,'nombreEnfants_sec' );
                    $sheet->setCellValueByColumnAndRow(8,1,'nombreTotalEnfants' );
                    $sheet->setCellValueByColumnAndRow(9,1,'modeGardeActuel' );
                    $sheet->setCellValueByColumnAndRow(10,1,'depose' );
                    $sheet->setCellValueByColumnAndRow(11,1,'organisation' );
                    $sheet->setCellValueByColumnAndRow(12,1,'choixModeGarde' );
                    $sheet->setCellValueByColumnAndRow(13,1,'employeur' );
                    $sheet->setCellValueByColumnAndRow(14,1,'raison' );
                    $sheet->setCellValueByColumnAndRow(15,1,'maniere' );
                    $sheet->setCellValueByColumnAndRow(16,1,'horairesLundi' );
                    $sheet->setCellValueByColumnAndRow(17,1,'horairesMardi' );
                    $sheet->setCellValueByColumnAndRow(18,1,'horairesMercredi' );
                    $sheet->setCellValueByColumnAndRow(19,1,'horairesJeudi' );
                    $sheet->setCellValueByColumnAndRow(20,1,'horairesVendredi' );
                    $sheet->setCellValueByColumnAndRow(21,1,'horairesLundiP' );
                    $sheet->setCellValueByColumnAndRow(22,1,'horairesMardiP' );
                    $sheet->setCellValueByColumnAndRow(23,1,'horairesMercrediP' );
                    $sheet->setCellValueByColumnAndRow(24,1,'horairesJeudiP' );
                    $sheet->setCellValueByColumnAndRow(25,1,'horairesVendrediP' );
                    $sheet->setCellValueByColumnAndRow(26,1,'attentes' );
                    $sheet->setCellValueByColumnAndRow(27,1,'estivale' );
                    $sheet->setCellValueByColumnAndRow(28,1,'residence' );
                    $sheet->setCellValueByColumnAndRow(29,1,'remarques' );
                    $sheet->setCellValueByColumnAndRow(30,1,'dateHeure' );
     
     
     
                    $ligne = 2;
                    while($data = $req->fetch()){
                            $colonne=0;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['identifiant']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['code']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['sexe']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['age']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['composition']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['nombreEnfants_3ans']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['nombreEnfants_matpri']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['nombreEnfants_sec']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['nombreTotalEnfants']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['modeGardeActuel']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['depose']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['organisation']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['choixModeGarde']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['employeur']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['raison']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['maniere']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesLundi']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesMardi']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesMercredi']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesJeudi']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesVendredi']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesLundiP']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesMardiP']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesMercrediP']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesJeudiP']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['horairesVendrediP']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['attentes']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['estivale']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['residence']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['remarques']);$colonne++;
                            $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['dateHeure']);$colonne++;
     
     
                            $ligne++;//ligne suivante                                       
                                                    }
    Merci d'avance

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Et je peux voir comment tu essayes de l'intégrer ?

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Par défaut
    En cherchant sur internet j'étais tombé sur une discussion qui semblais avoir le même problème que moi mais je n'y arrive pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sheet->setCellValue ("AF1" ,'=COUNTIF(AA:AA;"*accueil*")',PHPExcel_Cell_DataType::TYPE_FORMULA);
    j'ai essayé de mettre "*accueil*" dans une variable comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $mot = "*accueil*";
    $sheet->setCellValue ("AF1" ,'=COUNTIF(AA:AA;.$mot)',PHPExcel_Cell_DataType::TYPE_FORMULA);

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    AA:AA tu ne comptes qu'une seule cellule ?

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

Discussions similaires

  1. [C++ DX9] Plusieurs problêmes (rendu de point et picking)
    Par caparenlive59 dans le forum DirectX
    Réponses: 5
    Dernier message: 13/07/2007, 17h20
  2. Réponses: 8
    Dernier message: 26/06/2007, 18h07
  3. Réponses: 3
    Dernier message: 27/04/2007, 11h29
  4. Réponses: 3
    Dernier message: 14/01/2007, 20h54
  5. Mon Outil de gestion (plusieurs problèmes)
    Par Makaveli33 dans le forum Access
    Réponses: 10
    Dernier message: 11/05/2006, 22h42

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