J'essaie de modifier une table Excel intégrée dans un document Word par programmation. Pour ce faire, j'ai modifié le fichier docx et le fichier Excel intégré.Mettre à jour le fichier Excel intégré par programmation
La partie importante du document principal est le suivant:
<w:object w:dxaOrig="8406" w:dyaOrig="2056">
<v:shape id="_x0000_i1028" type="#_x0000_t75"
style="width:390.75pt;height:95.25pt" o:ole=""><v:imagedata r:id="rId14"
o:title=""/>
</v:shape>
<o:OLEObject Type="Embed" ProgID="Excel.Sheet.12" ShapeID="_x0000_i1028"
DrawAspect="Content" ObjectID="_1349794876" r:id="rId15"
UpdateMode="Always"/>
</w:object>
Le document Word utilise un OLEObject pour créer un lien vers le document Excel intégré. Pour l'affichage, un fichier .wmf est utilisé (en utilisant l'élément v:shape
). J'ai modifié le document Excel, qui a dépassé cet aperçu.
Il en résulte un comportement étrange dans le document:
- L'aperçu du tableau intégré (Excel) affiche les données erronées
- double clic sur la table intégrée ouvre la table dans un fichier Excel intégré et montre les données correctes
- Fermeture de l'éditeur intégré déclenche la génération d'un nouvel aperçu, montrant les données correctes
Bien sûr, je veux la table sh Doit la bonne table lorsque le document est ouvert. Comment puis-je déclencher Word pour supprimer l'image et redessiner l'aperçu?
Une solution idéale pour moi serait de déclencher la régénération de l'aperçu en modifiant simplement le contenu du docx, mais les solutions utilisant un petit script seraient également utiles.
Mettez-vous à jour la feuille de calcul incorporée via OpenXML, .NET, VSTO ou VBA? –
Je fais la conversion moi-même, en utilisant PHP (SimpleXML et un peu DOMDocument). La conversion de la feuille de calcul fonctionne parfaitement, c'est l'image "preview" qui pose problème. – Scharrels