Modification d'un fichier Excel / writeexcel

Petit nouveau ! | 3 Messages

22 nov. 2006, 11:47

Bonjour,

j'aimerias pouvoir modifier un ficher Excel existant en utilisant la classe writeexcel (ou une autre si vous avez une solution qui vous semble plus adaptée sous Linux).

Avec les exemples fournis avec cette classe, j'arrive bien à créer un fichier Excel, en revanche, je ne sais pas modifier un fichier existant.

Si vous aviez un exemple de script à me donner, ça m'aidrait beaucoup.

Merci d'avance .

Philippe

Eléphant du PHP | 152 Messages

24 nov. 2006, 12:08

Salut,

tu as de la chance je suis un expert en la matière.

tu peux tout simplement utiliser l'objet COM autrement dit
Component Object Model, attention toutefois, les objets
COM sont uniquement disponibles pour PHP sous windows.
Pour remedier à ce problème j'ai du créer un serveur
PHP sous windows. Tu peux avoir un serveur LINUX à distance.
qui execute une page chez toi, génère ton fichier et qui continue
tout ça en transparent.

Exemple d'utilisation :

ton fichier page1.php sur ton serveur distant appel ton fichier
traitement_excel.php sur ton serveur local.
$excel = new COM("excel.application") or die ('<h2>impossible d\'ouvrir Excel</h2>');
$excel->Workbooks->Open('c:/tonfichiermodele') or die ('<h2>impossible d\'ouvrir le fichier</h2>');
$excel->visible=true;
$book=$excel->Workbooks(1);////ligne457 
$sheet=$book->Worksheets(1);  
$excel->activesheet;

                $cell3=$sheet->Range('A1');
	$cell3->value='test 1';
	$cell3=$sheet->Range('B1');
	$cell3->value='test 2';

$excel->Workbooks[1]->Saveas('c:/tonfichiermodifie');

$excel->visible=false;
$excel->Workbooks[1]->Close(true);
shell_exec("kill excel.exe");

header("http://serveurdistant/page2.php"); // tu continu as travailler sur le distant.
Voilou, j'espère que ça te servira.
@+

Eléphant du PHP | 152 Messages

24 nov. 2006, 12:10

J'oubliais

tu dois installer un petit utilitaire kill, en tout
cas sur PHP4 l'objet COM rencontrai des difficultés
pour fermer EXCEL, je ne sais pas si c'est encore le
cas aujourd'hui.

Voila
@+

Eléphant du PHP | 70 Messages

31 janv. 2007, 22:19

J'utilisais moi-même COM malgré le peu de doc sur le sujet mais l'instabilité de l'appel de cette API m'a fait préfére la bibliothèque PEAR malgré des restrictions d'usage très fortes...
Qu'utilises-tu pour ne pas avoir des ouvertures de process intempestives d'EXCEL ouvertes had-patress ....

Petit nouveau ! | 9 Messages

31 janv. 2007, 23:06

Tu peux aussi voir autrement... via du xml.

Enregistre ton fichier Excel au format XML, mais en gardant l'extension xls.
Ouvre le avec notepad ou éditeur XML et indente le pour mieux le comprendre. Tu verras, on peut faire beaucoup de chose.

Uploader et modifier un fichier Excel qui ce trouve au format XML deviendra un jeu d'enfant.

En plus, tu aura un premiers pas dans le future des standards OpenDocument (Oassis - OpenOffice) ou OpenXML (Microsoft - Office 2007)

Eléphant du PHP | 70 Messages

01 févr. 2007, 18:20

Bonne réponse, je vais essayer cela au plus tôt, dès que je serais à mon boulot. Chez moi, je n'ai que OPEN OFFICE :P