Upload et modification fichier excel via PHP

Fermé
billypote Messages postés 44 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 7 août 2015 - 22 oct. 2008 à 10:46
 babid - 13 oct. 2009 à 18:46
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.
A voir également:

21 réponses

billypote Messages postés 44 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 7 août 2015 10
22 oct. 2008 à 12:59
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
1
2berte Messages postés 204 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 143
22 oct. 2008 à 14:05
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
1
billypote Messages postés 44 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 7 août 2015 10
22 oct. 2008 à 12:12
Up, c'est assez important :/
0
2berte Messages postés 204 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 143
22 oct. 2008 à 12:16
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
billypote Messages postés 44 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 7 août 2015 10
Modifié par billypote le 6/05/2010 à 12:37
Salut,

Oui c'est obligatoirement un fichier .xls .
0
2berte Messages postés 204 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 143
22 oct. 2008 à 12:26
Et pourquoi tu fais ça en PHP ?
0
billypote Messages postés 44 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 7 août 2015 10
22 oct. 2008 à 12:28
Parceque je ne connais que le php pour le moment :/
Tu vois une solution simple ? je veux dire autre que php ?
0
2berte Messages postés 204 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 143
22 oct. 2008 à 12:30
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
0
billypote Messages postés 44 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 7 août 2015 10
22 oct. 2008 à 12:46
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
0
billypote Messages postés 44 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 7 août 2015 10
22 oct. 2008 à 14:55
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 !
0
2berte Messages postés 204 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 143
22 oct. 2008 à 16:55
Alors ça donne quoi ?
0
billypote Messages postés 44 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 7 août 2015 10
Modifié par billypote le 6/05/2010 à 12:40
C'est un peu le bordel :p
Je vais me faire taper sur les doigts par le patron lol.
Juste pour info, si je fais
fopen ("fichier.txt",r
) , c'est censé ouvrir le fichier non ? Je veux dire, ca ouvre le bloc note pour qu'on puisse lire non ?
0
2berte Messages postés 204 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 143
22 oct. 2008 à 18:07
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
0
2berte Messages postés 204 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 143
22 oct. 2008 à 18:07
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
0
billypote Messages postés 44 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 7 août 2015 10
23 oct. 2008 à 09:48
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 ?
0
2berte Messages postés 204 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 143
23 oct. 2008 à 13:54
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
0
billypote Messages postés 44 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 7 août 2015 10
4 nov. 2008 à 09:48
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 !
0
Tu as trouvez la solution car moi je ne la trouve pas
Merci d'avance

A+
0
billypote Messages postés 44 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 7 août 2015 10
4 nov. 2008 à 16:57
Up ! :)
0
billypote Messages postés 44 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 7 août 2015 10
5 nov. 2008 à 09:39
Dernier up ! ^^
0
Toujours pas de réponse pour modifier une feuille existante ???
0