COM Excel [Résolu]

citt 213 Messages postés dimanche 8 juin 2003Date d'inscription 9 février 2012 Dernière intervention - 27 juil. 2005 à 13:59 - Dernière réponse : citt 213 Messages postés dimanche 8 juin 2003Date d'inscription 9 février 2012 Dernière intervention
- 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
Afficher la suite 

9 réponses

Répondre au sujet
malik7934 1162 Messages postés mardi 9 septembre 2003Date d'inscription 15 août 2009 Dernière intervention - 27 juil. 2005 à 14:14
0
Utile
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...
Commenter la réponse de malik7934
cs_GRenard 1663 Messages postés lundi 16 septembre 2002Date d'inscription 30 juillet 2008 Dernière intervention - 27 juil. 2005 à 14:17
0
Utile
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 !
Commenter la réponse de cs_GRenard
citt 213 Messages postés dimanche 8 juin 2003Date d'inscription 9 février 2012 Dernière intervention - 27 juil. 2005 à 14:30
0
Utile
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
Commenter la réponse de citt
cs_minta 30 Messages postés samedi 1 février 2003Date d'inscription 9 octobre 2007 Dernière intervention - 6 févr. 2006 à 22:25
0
Utile
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.
Commenter la réponse de cs_minta
citt 213 Messages postés dimanche 8 juin 2003Date d'inscription 9 février 2012 Dernière intervention - 8 févr. 2006 à 21:43
0
Utile
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
Commenter la réponse de citt
FhX 2368 Messages postés mercredi 13 octobre 2004Date d'inscription 18 avril 2015 Dernière intervention - 8 févr. 2006 à 22:51
0
Utile
'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 !
Commenter la réponse de FhX
cs_brian85 18 Messages postés vendredi 5 janvier 2007Date d'inscription 26 juin 2008 Dernière intervention - 23 mai 2008 à 09:47
0
Utile
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.
Commenter la réponse de cs_brian85
citt 213 Messages postés dimanche 8 juin 2003Date d'inscription 9 février 2012 Dernière intervention - 24 mai 2008 à 11:48
0
Utile
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
Commenter la réponse de citt
citt 213 Messages postés dimanche 8 juin 2003Date d'inscription 9 février 2012 Dernière intervention - 27 juil. 2005 à 16:03
-1
Utile
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
Commenter la réponse de citt

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.