PHP & Excel : éviter confirm enregistrement

Fermé
Cryborg - 27 sept. 2007 à 13:11
Cryborg Messages postés 6 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 26 mars 2008 - 28 sept. 2007 à 12:16
Bonjour,

Sous PHP, je modifie un fichier modèle Excel, que je modifie avec du code. Tout marche nickel, la vie est belle.

Là où ça commence à déraper, c'est lorsque je tente d'enregistrer le fichier. Lorsque celui-ci n'existe pas, aucun souci, un $book->saveas($file) convient très bien.

En revanche, lorsque le fichier existe, c'est une autre paire de manches : en local, j'ai un message me demandant si je veux remplacer le fichier déjà existant. Bon, c'est pas super, mais à la limite, si je clique sur Oui, ça me l'enregistre.

Mais évidemment, ce n'est pas en local que je veux que mon site fonctionne :) Et lorsqu'il est sur le serveur de prod, je n'ai pas ce message, vu qu'aucun utilisateur n'est connecté au serveur, et il lance donc une instance d'Excel silencieuse, que je dois killer, et qui ne me crée donc pas ce fichier.

J'en arrive donc à ma question : comment supprimer cette demande de confirmation d'enregistrement ? J'ai eu beau chercher sur le net, je n'ai pas trouvé de réponse satisfaisante. Par exemple, je ne peux effacer le fichier avant de le réenregistrer, toujours à cause des droits utilisateurs qui sont nuls, puisque personne n'est connecté. Un truc du genre $book->noconfirm = true.

J'ai essayé de mettre des paramètres au ->saveas, au ->close(), mais rien n'a fonctionné....

Si quelqu'un a une idée, ce serait génial !

Merci !
A voir également:

1 réponse

Cryborg Messages postés 6 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 26 mars 2008
28 sept. 2007 à 12:16
Bonjour !

Ca peut toujours servir à quelqu'un, alors je me réponds à moi-même, après des heures passées à chercher la réponse à cette interrogation !!

Le $book->displayalerts ne fonctionnant bizarrement pas, ainsi que le $book->save(), j'ai continué mes recherches, et je suis tombé par hasard sur la solution : le $book->save s'écrit sans les parenthèses, à l'inverse du ->close() et ->quit() !!!

Du coup, ce petit bout de code marche parfaitement :

if ($modifying)
{
	EcritLog('Modification du classeur');
	$book->save;				//Enregistrement des modifications
} else {
	EcritLog('Création du classeur');
	$book->saveas($dest_file);	//Sauvegarde du nouveau fichier
}
0