[php] Objet COM pour excel ou word

Objet COM pour excel ou word [php] - PHP - Programmation

Marsh Posté le 04-08-2005 à 10:02:03    

Bonjour a tous,
 
c'est un sujet dont il a été plusieurs fois questions mais qui cause encore de nombreux problemes !
 
Je veux commander Excel permettant d'incorporer des données dans les cellules. Ces données proviennent d'un fichier texte. Ensuite en fonction de ces données, je construit un graphique.
 
J'ai tenté d'utiliser l'objet COM pour commander Word pour me servir d'exemple mais ca ne marche pas.
 
Faut il installer une librairie spéciale pour commander COM, ou COM ne nécessite seulement que les librairies standart de PHP. Moi j'utilise PHP4.3.10 avec apache 1.3.33
 
Voici mon exemple mais qui ne marche pas !
 

Citation :

<html>
<body>
       
<?  
//démarage de word
$word = new COM("word.application" ) or die("Impossible d'ouvrir Word" );
 
//Activation
$word->Visible = 1;
 
//ouverture d'un document vide
$word->Documents->add();
 
//Ecriture dans le document
$word->Selection->TypeText("Ceci est un test" );
$word->Documents[1]->SaveAs("Fichier_inutile.doc" );
 
//Fermeture de word
$word->Quit();
 
//Libération de l'objet
$word->Release();
$word = null;
 
?>
</body>
</html>


 
Merci de votre aide !!

Reply

Marsh Posté le 04-08-2005 à 10:02:03   

Reply

Marsh Posté le 06-08-2005 à 21:19:35    

Pour infos, je faisais quelque chose d'approchant, c'est-à-dire que j'ouvrais un document Word, j'allais jusqu'à un signet, j'y mettais du texte, j'imprimais le codument, je le sauvegardais et je le fermais :


   if (!($word = new COM("Word.Application" ))) {
      print("<p><font color=red>Impossible d'accéder à Word</font><p>\n" );
      return(-1);
   }
   if (!($wds = $word->Documents->Open("$doc_path" ))) {
      print("<p><font color=red>Impossible d'ouvrir {$doc_path}</font><p>\n" );
      return(-2);
   }
 
   $empty = new VARIANT();
...
   $word->Selection->GoTo(wdGoToBookmark, $empty, $empty, "{$signet_nom}" );
...
   $word->Selection->Font->Name = "{$police}";
   $word->Selection->Font->Size = $taille;
...
   $word->Selection->TypeText("{$chaine}" );
...
   $aa = $word->Application->PrintOut(False, $empty, wdPrintAllDocument);
...
   $new_filename = $dir."/"."tstjul30.doc";  
   $word->Documents[1]->SaveAs($new_filename);
 
   $word->ActiveDocument->Close(wdDoNotSaveChanges, $empty, $empty);
   $word->Close;
 
   $word->Quit(wdDoNotSaveChanges, $empty, $empty);
   $word->Release();
   unset($word);
   print("<p>Word est fermé.\n" );


Cela marchait avec PHP 4.3.3, mais cela ne marche plus bien avec 4.3.10. alors, je suis revenu en 4.3.3. De toutes manières, maintenant je fais toutes mes nouvelles éditions en PDF avec les libraires gratuites de fdpf. Cela marche très bien.
 
Néanmoins, si quelqu'un a une réponse à la question d'erwan551, ou bien des exemples qui marchent en PHP 4.3.10, cela m'intéresserait.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed