Accueil > Forum > > > > Lire un fichier excel
Lire un fichier excel
vendredi 7 juillet 2006 à 10:44:46 |
Lire un fichier excel

Rael87
|
Bonjour Voila mon probleme, aprés beaucoup de recherche je n'ai pas trouvé la solution. J'ai un fichier excel, et je souhaite en extraire les données par cellules, afin de les organiser dans un tableau, pour l'instant je n'arrive qu'a l'extraire lignes par lignes, mais impossible d'extraire les données cellules par cellules. Si quelqu'un l'a deja fait ca me serait fort utile. Merci
|
|
vendredi 7 juillet 2006 à 10:59:29 |
Re : Lire un fichier excel

Paladin2107
|
SLT
Jette un oeil dessus peut etre que cela pourrait d'aider. Bon courage
define("FILENAME","votre_racine_web\\phpexcel.xls"); //constante: nom du fichier à générer
$conn=mysql_connect('votre_hôte','utilisateur','mdp') or die('Probleme lors de la connexion a la BD MYSQL');
mysql_select_db('phpexcel',$conn) or die('Problème lors de la sélection de la BD MYSQL');//Sélection de la DB "phpexcel"
$query="SELECT DATE_APPEL,NOM_CLIENT,XID_CLIENT FROM APPELS_CLIENTS INNER JOIN CLIENTS ON ";
$query.="ID_CLIENT=XID_CLIENT ORDER BY XID_CLIENT,DATE_APPEL";//Requête faisant une jointure sur les 2 tables
$res=mysql_query($query) or die('Problème lors de la réception des enregistrements '.$query);//Exécution de la requête
if(mysql_num_rows($res)>0){ //Si au moins une ligne est retournée
if(file_exists(FILENAME)){ //Suppression du fichier précédement créé
unlink(FILENAME); //Suppression du fichier
}
$excel=new COM("Excel.application"); //Instanciation de l'objet COM
$excel->sheetsinnewworkbook=1;//1 seule feuille de calcul dans le document
$excel->Workbooks->Add();//Ajout d'un classeur
$book=$excel->Workbooks(1);//$book contient le classeur actif
$sheet=$book->Worksheets(1);//$sheet contient la feuille active
$sheet->Name="Rapport appel des clients";//Attribution d'un nom à la feuille
$j=64;//C'est ici qu'on va jouer sur les codes ascii
$jj=64;
$client_prec=0;
$nombre_ligne=0;
while($row=mysql_fetch_object($res)){//Parcours du résultat de la requête
if($client_prec != $row->XID_CLIENT){//Rupture sur le numéro de client
$j++;
$i=3;
if($nombre_ligne>0){
$lignes[]=$nombre_ligne;//le tableau $lignes contiendra le nbre d'appels par client
$nombre_ligne=0;
}
//Ce bloc if vérifie si il s'agit d'une colonne de type "A" "B" ou "AA" "AB"...
if($jj==64){
$cell=$sheet->Range(chr($j).'1');//chr, renvoie la lettre correspondant au code ASCII
}
else{
$cell=$sheet->Range(chr($jj).chr($j).'1');
}
$cell->value=$row->NOM_CLIENT;//Attribution d'une valeur à la cellule
$cell->HorizontalAlignment=-4108;//On centre le texte
$cell->Font->ColorIndex = 41;//Coloration
}
$nombre_ligne++;//$nombre_ligne sert à calculer le nbre d'appels par client
if($jj==64){
$cell=$sheet->Range(chr($j).$i);
}
else{
$cell=$sheet->Range(chr($jj).chr($j).$i);
}
//Si $j représentant la colonne simple = "Z", alors incrémenter $jj qui représente la 2ème colonne
if(chr($j)=='Z'){
$jj++;
$j=64;
}
$cell->value=$row->DATE_APPEL;//Attribution de la date et de l'heure à la cellule
$cell->NumberFormat="jj/mm/aaaa hh:mm:ss";//Définition du format de la cellule
/* Notez que selon vos paramètres régionnaux et la configuration d'Excel, vous devez peut-être
utiliser un format de cellule comme ceci: dd/mm/yyyy hh:mm:ss (anglais)*/
$client_prec=$row->XID_CLIENT;//gestion de la rupture sur le numéro de client
$i++;
}
}
else{
die('Les tables sont vides ou pas de jointure possible');//si la requête ne retourne rien
}
$lignes[]=$nombre_ligne;//ajout des appels du dernier client dans $lignes
$sorted=$lignes; //on copie le nombre d'enreg par client dans un autre tableau
sort($sorted); //on trie cet autre tableau
//on récupère le plus grand nombre de record, pour pouvoir aligner les résultats dans Excel
$max_val=5+$sorted[count($sorted)-1];
$colonne=65;
$colonne2=64;
//Boucle allant afficher le nombre total d'appels par client
for($i=0;$i64){
$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);//Sauvegarde du fichier
unset($sheet);//Libération de $sheet
unset($book);//Libération de $book
$excel->Workbooks->Close();//Fermeture du classeur
$excel->Quit();//On quitte Excel
unset($excel);//Libération de l'instance $excel
?>
|
|
vendredi 7 juillet 2006 à 14:31:18 |
Re : Lire un fichier excel

Rael87
|
Merci pour ta reponse mais aprés un rapide coup d'oeil, il me semble que cette source sert a créer une feuille excel avec des données d'une BD. Moi je recherche un code pour lire un fichier excel et en extraire les données cellule par cellules, c'est a dire l'inverse de ce code, je pense que ca doit etre possible sans utiliser de classes.
|
|
Cette discussion est classée dans : fichier, lire, excel, extraire, cellules
Répondre à ce message
Sujets en rapport avec ce message
Lire un fichier excel [ par NeOkizis ]
Salut,Je suis totalement débutant dans le php, et j'ai un petit problème...Je dois créer une page sur un site intranet qui affiche un annuaire telepho
Lire un Fichier EXCEL d'extension .xls [ par nohit ]
Salut !Voilà, j'essaie de lire un fichier Excel .xls (et pas .csv !) avec PHP et de reccuperer chacune des lignes de ce fichier dans une variable $lig
Lire un fichier excel [ par nikos283 ]
salut a tous!Je suis a la recherche d'une classe ou de fonctions simples me permettant à un utilisateur d'envoyer sur mon site un fichier au format xl
Comment Lire un fichier Excel [ par svendeville ]
Bonjour à tous,Voila mon prblème, dans le cadre d'un appli, je doit faire une coroboration de donnée entre un fichier Excel et ma base de donnée, hors
lire les donnees d'un fichier excel [ par nouriia4esti ]
Bonjour:Je voudrais des lignes de commandes (sed,awk,perl....) permettant de lire les donnees du fichier excel.Pour les inserer dans des tables Mysql.
Lire un fichier excel. [ par Sims48 ]
Voila je travaille sur un projet, et j'ai besoin de lire des fichiers excel pour remplir ma base de donnée. Je cherche donc un moyen en php pour lire
Extraire plusieurs lignes d'un fichier excel [ par Nihilithe ]
Bonjour, Je souhaite extraire plusieurs lignes d'un fichier excel de ce type : (Colonne A) (Colonne B sur excel) A01 Blabla1 B01
transféré des images fichier excel vers php [ par zidan005 ]
comment transferé d'un fichier excel qui contient des images ver base de donnée mysql et comment le récupéré pour l'afficher slvp merci d'avance
Extraire des metadata depuis un fichier PDF [ par mimosa803 ]
Salut, Je souhaite savoir s'il existe des librairies en php permettant d'extraire les metadata depuis un fichier PDF. En effet, je suis entrain de gé
phpExcel - Copie de macros VBA d'un fichier excel [ par TorTukiTu ]
Bonjour. J'écris aujourd'hui car je suis complètement bloqué depuis déjà plusieurs jours. Le problème: Je manipule des fichiers Excel en php (format
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|