PHP & Excel : éviter confirm enregistrement
Cryborg
-
Cryborg Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Cryborg Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
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 !
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:
- PHP & Excel : éviter confirm enregistrement
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
1 réponse
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 :
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 }