Upload et modification fichier excel via PHP
billypote
Messages postés
45
Statut
Membre
-
babid -
babid -
Bonjour tout le monde,
Je suis un peu en galère la.
L'idée c'est que j'ai un fichier excel avec une colonne A et une colonne B, je voudrais pouvoir uploader ce fichier, et le modifier de facon a obtenir une troisieme colonne A+B, puis l'enregistrer la ou je veux.
La partie upload ne pose pas de problemes, c'est jsute que je n'ai pas la moindre idée de comment modifier le fichier Excel avec PHP.
Merci pour votre aide.
Je suis un peu en galère la.
L'idée c'est que j'ai un fichier excel avec une colonne A et une colonne B, je voudrais pouvoir uploader ce fichier, et le modifier de facon a obtenir une troisieme colonne A+B, puis l'enregistrer la ou je veux.
La partie upload ne pose pas de problemes, c'est jsute que je n'ai pas la moindre idée de comment modifier le fichier Excel avec PHP.
Merci pour votre aide.
Configuration: Windows XP Firefox 1.0.3
21 réponses
- 1
- 2
Suivant
-
Rectification, ca écrase le fichier existant, c'est donc un bon début, au moins il se passe quelque chose sur mon fichier Excel :D
-
le 'w' signifie que tu ouvres ton fichier en écriture, or toi tu dois l'ouvrir en lecture et écriture ... Cherche sur cette piste là ...
Bon courage
2berte -
-
C'est obligatoirement un fichier Excel (.xls) ? Cela ne peut pas être un fichier de type csv ?
Lire un fichier CSV, je sais faire. Ecrire un nouveau fichier ça doit être possible.
Quel est l'intéret de cette manip ? Peux tu nous expliquer davantages stp .
En attente de te lire en retour,
2berte -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
-
Parceque je ne connais que le php pour le moment :/
Tu vois une solution simple ? je veux dire autre que php ? -
Bah si tu connais que PHP, non je ne vois pas d'autres solutions...
Un petit lien qui permet d'ouvrir ton fichier ".xls" et d'écrire dans une case : http://www.infos-du-net.com/forum/264042-21-creer-fichier-excel .
C'est peut être un bout de piste.
En attente de te lire en retour,
2berte -
Merci pour le lien.
A partir de ce lien, j'ai tenté de simplement ouvrir le fichier Excel uploadé, voila mon code:
$file = ($_FILES['fichier']['name'] ) ; // le fichier doit dj exister fopen($file, "w" ) or die ("marche pas"); //on ouvre le fichier
Evidemment ca ne fonctionne pas, il ne se passe rien, sinon ça ne serait pas drôle ;)
Donc si qqn voit ou ca foire...
Merci d'avance -
Effectivement, j'ai mis "r+" au lieu de "w", ca n'ecrase plus le fichier.
J'ai chopé une libraire qui apparement permettrait décrire et de lire un fichier Excel, je vais tenter de comprendre comment cela fonctionne ! -
-
C'est un peu le bordel :p
Je vais me faire taper sur les doigts par le patron lol.
Juste pour info, si je faisfopen ("fichier.txt",r) , c'est censé ouvrir le fichier non ? Je veux dire, ca ouvre le bloc note pour qu'on puisse lire non ? -
Donne ton code entier si tu veux un coup de main...
non ça t'ouvre le fichier en lecture. Mais il ne s'ouvre pas physiquement, c'est pour cela que tu vois pas le bloc notes s'ouvrir...
2berte -
Donne ton code entier si tu veux un coup de main...
non ça t'ouvre le fichier en lecture. Mais il ne s'ouvre pas physiquement, c'est pour cela que tu vois pas le bloc notes s'ouvrir...
2berte -
J'ai pas de code à te donner, j'ai fait tellement d'essais que c'est un bordel monstre au niveau du code, ca serait illisible. xD
Si fopen() n'ouvre pas physiquement, quelle est la commande pour ouvrir physiquement un fichier ? -
fopen() permet d'ouvrir ton fichier, mais cela n'ouvre pas Excel. toi tu dois utiliser cette commande.
Pourquoi ne pas faire cela directement dans Excel ? Excele permet de faire cela, sinon je n'ai pas compris l'intéret de Excel ...
En attente de te lire en retour,
2berte -
Me revoila, pour vous tenir un peu au courant de mon avancement, et donner des pistes à certains .
J'ai chopé la librairie excelWriter, qui permet de créer un fichier Excel avec PHP. J'ai réussi à le modifier de facon à ce que je puisse ouvrir un fichier déja existant. Voila le code:<?php set_time_limit(10); require_once "excelWriter/class.writeexcel_workbook.inc.php"; require_once "excelWriter/class.writeexcel_worksheet.inc.php"; $var= 'tut.xls'; $workbook =& new writeexcel_workbook(fopen($var,"r+")) or die ("Error"); $worksheet =& $workbook->addworksheet("Tut 1") or die ("Error 2"); //$book=$excel->Workbooks(1) ; //$sheet=$book->Worksheets(1) ; # The general syntax is write($row, $column, $token). Note that row and # column are zero indexed # # Write some text $worksheet->write(2, 0, "Meuhhh !"); $worksheet->write(2 ,1, "Pouet"); $worksheet->write(2, 2, "Plop"); $workbook->close(); header("Content-Type: application/x-msexcel; name=\"example-simple.xls\""); header("Content-Disposition: inline; filename=\"example-simple.xls\""); $fh=fopen($fname, "rb"); fpassthru($fh); unlink($fname); ?>
Ca ouvre le fichier tut.xls, et y écrit 3 mots dans 3 cases différentes. Le problème c'est qu'avec ce code, on ouvre un fichier existant, mais on crée une nouvelle feuille (addworksheet), qui écrase les feuilles existantes. En clair j en'arrive pas encore a ajouter des donées sans effacer les anciennes.
Donc si qqn sait comment écrire dans une feuille déja existante sans en créer une, ça m'interesse grandement ! -
-
-
- 1
- 2
Suivant