COM Excel

Résolu
citt Messages postés 209 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 9 février 2012 - 27 juil. 2005 à 13:59
citt Messages postés 209 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 9 février 2012 - 24 mai 2008 à 11:48
Bonjour,

Je voudrait créer un fichier excel a partir de php, j'ai trouvé des sources pour faire ca qui vont bien mais mon probleme est que quand il execute ceci :


$excel =
new COM(
"excel.application")


il me renvoie l'erreur :

PHP Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `excel.application': Accès refusé. ' in C:\Inetpub\wwwroot\page_rank\calcul.php:37 ....

Je n'arrive pas a trouver de solution. Pourquoi ne veut-il pas l'instancié ?
Excel est bien installé sur mon serveur IIS avec PHP5.

Citt_jr
Bats toi avec les meilleurs, crève avec le reste
Tsubara.net

9 réponses

malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
27 juil. 2005 à 14:14
Moi je cree des fichiers excel comme ca:

...
$handle = fopen($filename, "wb");


$content ='<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="www.w3.org/TR/REC-html40&...
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-latin-1" />
<meta name="ProgId" content="Excel.Sheet" />
<meta name="Generator" content="Microsoft Excel 9" />
</head>

... |
... |
... ...
';

$content . = '
</html>';


fwrite($handle, $content);
fclose($handle);

Si ca peut servir...
0
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008
27 juil. 2005 à 14:17
Met un try catch, t'aurais plus d'erreur. Ni de feuille excel par la même occasion :P ?

, EssayezTestez avant de Poser une question !
0
citt Messages postés 209 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 9 février 2012 3
27 juil. 2005 à 14:30
Je veut passer par le COM car je veut créer des graphiques par derriere ce que ne l'on peut pas faire avec ta technique. Personne n'a jamais eu le même probleme que moi ?

Citt_jr
Bats toi avec les meilleurs, crève avec le reste
Tsubara.net
0
cs_minta Messages postés 31 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 1 mai 2022
6 févr. 2006 à 22:25
Bonjour Citt,
J'ai le même problème que toi. Comment procède t-on pour la modification des droits d'acces et d'execution du service sur le serveur. J'utilise windows xp, je te remercie d'avance.
0

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

Posez votre question
citt Messages postés 209 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 9 février 2012 3
8 févr. 2006 à 21:43
Bonjour,

Ma solution a été d'utiliser la librairie Pear http://pear.php.net/package/Spreadsheet_Excel_Writer/redirected

cela marche aussi bien qu'excel

Citt_jr
Bats toi avec les meilleurs, crève avec le reste
Tsubara.net
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
8 févr. 2006 à 22:51
'Failed to create COM object `excel.application': Accès refusé. '

Si c'est pas explicite ca... Même quand c'est écrit en francais les gens se demande encore pourquoi ca marche pas !
0
cs_brian85 Messages postés 18 Date d'inscription vendredi 5 janvier 2007 Statut Membre Dernière intervention 26 juin 2008
23 mai 2008 à 09:47
Bonjour @ tous,

Gros déterrage de topic là ^_^ bon j'ai parcouru les topics là dessus mais bon j'ai pas encore trouvé de solution, j'ai un serveur sous wamp avec office installé tout le tralala en admin bref pas de pb de droits ni autres, je lance ce bout de code pêché sur le site officiel de la doc php :

<?php

/* Démarrage de Word */
$word = new COM("word.application") or die("Impossible d'instancier l'application Word");
echo "Word lancé, version {$word->Version}\n";

/* Amener Word devant */
$word->Visible = 1;

/* Cree un document vide */
$word->Documents->Add();

/* Quelques commandes */
$word->Selection->TypeText("Ceci est un test...");
$word->Documents[1]->SaveAs("test.doc");

/* Fermeture de word */
$word->Quit();

/* Libération des ressources */
$word = null;
?>
Jusqu'à la ligne $word->Documents[1]->SaveAs("test.doc");
pas d'erreur hormis le fait que word ne se lance pas et  n'apparaît pas et si je laisse s'éxécuter cette fameuse ligne j'ai un uncaught exception 'com_exception' la commande a échoué, déjà si mon word se lançait et apparaissait ce serait un grand progrès.
Ah oui je suis sous vista c'est un serveur de dev.
Merci d'avance à ceux qui prendront la peine de me lire.
0
citt Messages postés 209 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 9 février 2012 3
24 mai 2008 à 11:48
Je ne sais pas mais tu a bien verifier que cela passe avec vista car les COM ne sont pas comme les autres. Et si ton code fonctionne sous vista, il n'est pas sur qu'il fonctionne sous un autre serveur autre que vista avec un office different.

La librairie Pear reste comme meme le mieux, c'est du reverse ingenering, donc ca creer de vrai fichier, si ils font les fichiers xls il doivent bien faire le doc.

Voila ustement un lien qui fait tous les document office : Lien

Citt_jr
Bats toi avec les meilleurs, crève avec le reste
0
citt Messages postés 209 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 9 février 2012 3
27 juil. 2005 à 16:03
Je vient de trouver la réponse a ma questions. Le probleme vient en fait des droits d'acces et d'execution du service qu'il faut modifier sur le serveur ;)

Citt_jr
Bats toi avec les meilleurs, crève avec le reste
Tsubara.net
-1