Bonjour,
Est-il possible d'écrire dans un fichier ouvert ?
Je parviens à le faire sur un fichier fermé ou en créant un nouveau fichier, mais je n'ai pas trouvé comment le faire pour un fichier ouvert !!!
Cdlt.
Bonjour,
Est-il possible d'écrire dans un fichier ouvert ?
Je parviens à le faire sur un fichier fermé ou en créant un nouveau fichier, mais je n'ai pas trouvé comment le faire pour un fichier ouvert !!!
Cdlt.
Bonjour
Tu veux écrire dans un XLS déjà ouvert sous Excel?
A mon avis ce n'est pas possible, ça n'a pas été prévu. Déjà quand tu ouvres avec Excel le même fichier plusieurs fois il te le dit et il te propose de rouvrir la dernière version enregistrée.
Il faudrait pour pouvoir faire ça que Excel puisse détecter en temps réel la modification du fichier qu'il est en train de traiter par un autre programme. M'étonnerait qu'il ait été prévu pour ça...
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Regarde la doc de xlsxwriter
Il y a moyen de gérer les données d'un fichier Excel en mémoire. De là, tu devrais pouvoir manipuler et faire évoluer le contenu directement en mémoire avant de cracher le résultat final dans un xlsx.
Salut,
On ne sait pas partager un fichier entre plusieurs processus de façon "saine" sans "synchroniser" les accès des différents processus. Pour ce faire, il va falloir utiliser des verrous pour protéger les accès concurrents et s'appuyer sur une structure particulière afin d'avoir une granularité "fine" et savoir quelles données rafraîchir.
Comme c'est "compliqué", on y préfère une architecture client/serveur
ou le serveur sérialise les accès de plusieurs clients aux données et assure l'intégrité de ce qui sera enregistré sur disque.
Pour un fichier Excel, ce n'est pas différent, le serveur étant l'application Excel à laquelle on se connecte via COM (accessible pour le programmeur Python via pywin32).
- W
Partager