Tuer un Processus Excel (objet COM)

nerikT Messages postés 2 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 15 juillet 2003 - 7 juil. 2003 à 15:58
cs_yanck Messages postés 4 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 25 août 2005 - 9 août 2005 à 14:19
Bonjour à tous !
J'ai un grros problème.
J'utilise un objet COM pour crere un fichier Excel, et à la fin du script, le processu est toujours en mémoire bien que l'appli soit fermée.
CODE :
// Ouverture
$excel=new COM("Excel.Application");
$excel->sheetsinnewworkbook=1;
$excel->Visible = 1;
$excel->Workbooks->Add();

//fermeture
$excel->Workbooks->Close();
$excel->Quit();
$excel->Release; //!: Erreur sur le release qql soit sa place.
$excel=null;
CODE

Voilà, j'ai remarqué que sans l'insertion du workbook, tout se passe bien.

Aidez moi !!!!!!!!!!!!!

4 réponses

cs_yo51 Messages postés 10 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 juillet 2003
11 juil. 2003 à 14:59
yop<s>yop...yop</s> 8-)

salut,
j'avais le meme pb que toi (processus ki se termine pas)alors g été voire sur le manuel de php et voila ca marche :

$excel=new COM("Excel.Application");
$excel->sheetsinnewworkbook=1;
$excel->Workbooks->Add();

$book=$excel->Workbooks(1);
$sheets=$book->Worksheets(1);

$ligne=1;
$colonne=1;

$cell = $sheets->Cells($ligne,$colonne);
$cell->activate;

$interior=$cell->Interior;
$interior->Color=200;

$font=$cell->Font;
$font->Color=458751;

$cell->value= "coucou";

$book->saveas("c:\\temp.xls");

$book->Close(false);
unset($sheets);
unset($book);
$excel->Workbooks->Close();
$excel->Quit();
unset($excel);

et voila ca dervrait marcher (etplus de processus qui reste). j'espere que g pu t'aider.
:) a+
0
nerikT Messages postés 2 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 15 juillet 2003
15 juil. 2003 à 09:44
Salut !
Apparemment ça ne marche pas...
Je suis désolé mais le processus est toujours en mémoire à la fin de l'exécution.........

Tant pis. Au fait : J'ai trouvé une alternative : créer un .exe qui supprime le processus de la mémoire... et l'appeller avec la fonction :"EXEC(...)" Ce qui est bien mais pas top.

Voilà, merci quand même.
0
jpheadust Messages postés 1 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 22 septembre 2004
22 sept. 2004 à 16:57
Salut!
Je sais que tous ces messages datent mais je galere tout autant a cause de ce putain de processus EXCEL qui ne veut pas s'en aller... Donc a tout hasard, pourrais tu m'expliquer comment tu as fait l'executable qui permet de le detruire??
Merci d'avance si tu repasses par là, et sinon si quelqu'un d'autre a une solution plus propres, n'hesitez pas non plus!

:)
0
cs_yanck Messages postés 4 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 25 août 2005
9 août 2005 à 14:19
bonjour,

je sais que les question date 1 peu, mais j'ai une solution propre qui marche (enfin chez moi).

# fermeture d'excel
@$excel->Workbooks[1]->Saved = True;
$excel->Workbooks->Close();
$excel->Quit();


# libération de la mémoire
unset($excel);

voilà, j'espère que cela pourra aider certain.
@+
0
Rejoignez-nous