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 :

[Excel] Génération de fichier excel depuis une base de donnée MySQL


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 19
    Points
    19
    Par défaut [Excel] Génération de fichier excel depuis une base de donnée MySQL
    bonjour tout le monde,
    je suis en stage, et je suis entrain de développer une applications concernant une base de données MySQL. je veux que je puisse générer un rapport sous excel automatiquement depuis mon application web.(j'utilise le PHP).
    merci de m'avoir donner de l'aide.
    à bientôt

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Salut,

    Pour ma part, j'utilise php_writeexcel

    Son utilisation est simple et facile.

    @+.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 19
    Points
    19
    Par défaut génération de fichier excel depuis une base de données sous MySQL
    Bonjour tout le monde,
    salut Zoom61,
    pouvez vous m'expliquer davantage comment puis-je utiliser le script que vous m'avez envoyer?
    et merci bien...

  4. #4
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Salut,

    Il te suffit de télécharger le fichier "writeexcel-0.3.0.tar.gz", de le décompresser dans ton site dans un répertoire distinct, et ensuite tu as un plein d'exemple pour apprendre à t'en servir.

    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    Bonjour,
    Bon, je parlais pas de décompression...
    ça je l'ais déja fais,
    Je voulais savoir comment introduire le script pour qu'il fonctionne correctement:
    par exemple je veux avoir un bouton dans une page "MA_PAGE.php" (par exemple) ; que si je click sur ce bouton, je veux qu'un formulaire excel s'ouvre. (le formulaire avec des données de la base de données MySQL).
    est ce que je dois créer une nouvelle page ".php" dans laquelle je met le script? ou comment?
    j'arrive pas à le faire
    Pouvez vous m'aider, SVP.

  6. #6
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Effectivement, il faut que tu crées une autre "page.php", qui contient le code qui te permettra de créer ton fichier Excel.
    Pour ce qui est du code à saisir dans la nouvelle page, il te suffit de voir les exemple fourni dans le dossier décompresser, tu as tous les cas possibles.

    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 19
    Points
    19
    Par défaut genération de fichier excel depuis une base de données MySQL
    Bonjour tout le monde,
    s'il vouplez ,quelqu'un peut m'expliquer cet exemple de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $excel=new COM("Excel.application");
    $excel->sheetsinnewworkbook=1;
    $excel->Workbooks->Add();
    $book=$excel->Workbooks(1);
    $sheet=$book->Worksheets(1);
    $sheet->Name="Rapport appel des clients";				
    $j=64;
    $jj=64;
    $client_prec=0;
    $nombre_ligne=0;

    et merci d'avance

  8. #8
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Je n'ai pas encore eu l'occasion d'utiliser cette librairie mais je dirai que ca sert a ca :

    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
     
    // Crée un objet pour manipuler une feuille Excel
    $excel=new COM("Excel.application"); 
    // Definit que tu as une seule feuille dans ton workbookd
    $excel->sheetsinnewworkbook=1;
    // Ajoute un workbook a ton fichier excel en création
    $excel->Workbooks->Add();
    // récupère le workbook courant
    $book=$excel->Workbooks(1);
    // Recupere la premiere (et unique voir plus haut) feuille du workbook
    $sheet=$book->Worksheets(1);
    // Définit le nom de la feuille
    $sheet->Name="Rapport appel des clients";				
     
    // définit des variables qui vont surement permettre de remplir la feuille
    $j=64;
    $jj=64;
    $client_prec=0;
    $nombre_ligne=0;
    Je ne promets pas que c'est exactement ca mais ca semble etre l'idée

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 19
    Points
    19
    Par défaut MySQL/Excel
    Bonjour tout le monde,
    Bon, j'ai pas encore arrivé à résoudre mon problème
    dans une page j'ai créé un bouton qui envoie à la page dont le code est le suivant:

    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
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
    <? 
    define("FILENAME","...\\R.xls");
    	$conn=mysql_connect('localhost','root','') or die('Problème lors de la connexion à la BD MYSQL');
    	mysql_select_db('miniere',$conn) or die('Problème lors de la sélection de la BD MYSQL');
    	$res=mysql_query("SELECT CODE_SUBS,NOM_SUBS  FROM substance") or die('Problème lors de la réception des enregistrements');
     
    	if(mysql_num_rows($res)>0){
    		if(file_exists(FILENAME)){			
    			unlink(FILENAME);}
     
    		$excel=new COM("Excel.application");
    		$excel->sheetsinnewworkbook=1;
    		$excel->Workbooks->Add();
    		$book=$excel->Workbooks(1);
    		$sheet=$book->Worksheets(1);
    		$sheet->Name="Rapport appel des clients";		
    		$j=64;
    		$jj=64;
    		$code_subs=0;	
    		$nombre_ligne=0;
    		while($row=mysql_fetch_object($res)){		
     
    			if($code_subs){				
    				$j++;									
    				$i=3;					 					
    				if($nombre_ligne>0){
    					$lignes[]=$nombre_ligne;
    					$nombre_ligne=0;
    				}
    				if($jj==64){
    				$cell=$sheet->Range(chr($j).'1');
    				}
    				else{
     
    			           $cell=$sheet->Range(chr($jj).chr($j).'1');
    				}
    				$cell->value=$row->CODE_SUBS;				
    				$cell->HorizontalAlignment=-4108;
        				$cell->Font->ColorIndex = 41;			
    			}
     
    			$nombre_ligne++;
    			if($jj==64){
    			$cell=$sheet->Range(chr($j).$i);
    			}
    			else{
    			$cell=$sheet->Range(chr($jj).chr($j).$i);
    			}
     
     
    			if(chr($j)=='Z'){
    				  $jj++;				  
    				  $j=64;
    			}
     
     
    			$cell->value=$row->NOM_SUBS;			
    			//$cell->NumberFormat="jj/mm/aaaa hh:mm:ss";
    			$code_subs=$row->NOM_SUBS;
    			$i++;
    		}
    	}
    	else{
    		die('erreur');
    	}
     
    	$lignes[]=$nombre_ligne;
    	$sorted=$lignes; 
    	sort($sorted); 
    	$max_val=5+$sorted[count($sorted)-1]; 
    	$colonne=65;
    	$colonne2=64;
    	for($i=0;$i<count($lignes);$i++){
    		   if($colonne2>64){
    		   $cell=$sheet->Range(chr($colonne2).chr($colonne).$max_val);				
    		}
    		else{
    		   $cell=$sheet->Range(chr($colonne).$max_val);			
    		}
     
    		if(chr($colonne)=='Z'){
    			$colonne2++;
    			$colonne=64;
     
    		}
    		$cell->value="Total: ".$lignes[$i];
    		$cell->HorizontalAlignment=-4108;
    		$cell->Font->ColorIndex=3;
    		$colonne++;
    	}
     
    	$book->saveas(FILENAME);
    	unset($sheet);
    	unset($book);
    	$excel->Workbooks->Close();
    	$excel->Quit();
    	unset($excel);	
    ?>
    quand j'apuis sur le bouton qui envoie à cette page j'aie le message "impossible d'afficher la page".
    est ce que quelqu'un a une idée qui peut m'aider.
    merci d'avance.

  10. #10
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Citation Envoyé par wiama
    quand j'apuis sur le bouton qui envoie à cette page j'aie le message "impossible d'afficher la page".
    est ce que quelqu'un a une idée qui peut m'aider.
    merci d'avance.
    Il faudrait plutot le code du bouton qui envoie vers ta page, tu dois faire une erreur dans le nom de fichier, le chemin ou quelquechose comme ca.

  11. #11
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 19
    Points
    19
    Par défaut MySQL/Excel
    Bonjour,
    Bon je travail avec macromedia dreamweaver, le bouton c'est un bouton flash
    dont le lien est le nom de la page que j'ai posté le code dans le message precedant

  12. #12
    Membre actif Avatar de JmL40
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 348
    Points : 246
    Points
    246
    Par défaut
    Bonjour,

    J'ai adapté les scripts de l'application XLSMagique.Celle-ci te propose de multiples options d'interaction entre excel php et mysql.

    Tu peut aussi inclure xlsmagique dans ton application, rien de plus simple. Xlsmagique est complet et simple.

    Tu le trouvera sur Google ou autres en faisant des recherches.

    Je donne les outils que j'utilise, à toi de choisir !

    @ +
    while (true) echo 'comique';
    Du comique de répétition ...
    Pour des questions de lisibilité, utilisez la balise [code]
    Si votre problème est résolu, n'oubliez pas le tag

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/08/2012, 16h41
  2. Import d'un fichier Excel dans une base de données MySql via POI
    Par intel42 dans le forum Développement Web en Java
    Réponses: 8
    Dernier message: 27/07/2011, 16h24
  3. [MySQL] Insérer le contenu d'un fichier Excel dans une base de donnée Mysql
    Par ghir_ana dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/07/2011, 15h46
  4. Réponses: 4
    Dernier message: 08/01/2009, 15h01
  5. importer une fichier excel dans une base de donnée MySQL
    Par maverick56 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 29/05/2007, 09h15

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