none
Excel workbook in XML Dokument serilisieren RRS feed

  • Frage

  • Hallo,

    ich brauche mal einen Tip. Ich fülle ein Excelworkbook über ein VSTO AddIn mit Daten. Das funktioniert soweit. Nun macht mein Kunde weitere Ergänzungen, z.B. Texte in Zellen, Bilder (Shapes) und Formatierungen.

    Gibt es eine Möglichkeit, das ganze Workbook in ein XML-Dokument zu serilisieren? Ich möchte es nicht als xls / xlsx abspeichern, sondern das XML als Template in verschiedenen Excelversionen (2003 bis 2010) weiterverwenden. Das XML Dokument soll auf einen Webserver gespeichert werden können.

    Wie gehe ich am besten dazu vor?

    Danke.

    Andreas

    Montag, 17. Mai 2010 20:00

Antworten

  • Hallo Andreas,

    die sinnvollste Serialisierung wäre die, es als XLSX/XLTX abzuspeichern. Für Office 2003 wäre zwar das Office 2007 Compatibility Pack notwendig, allerdings sollte das keine wirkliche Hürde sein. Alternativ böte sich noch die Speicherung im reinen XML Format an. Ich bin hier aber überfragt, ob dieses Format alle Formatierungen  transportiert. Dieses wäre jedoch ohne weiteres auch in Excel 2003 verwendbar.


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    Montag, 17. Mai 2010 20:24

Alle Antworten

  • Hallo Andreas,

    die sinnvollste Serialisierung wäre die, es als XLSX/XLTX abzuspeichern. Für Office 2003 wäre zwar das Office 2007 Compatibility Pack notwendig, allerdings sollte das keine wirkliche Hürde sein. Alternativ böte sich noch die Speicherung im reinen XML Format an. Ich bin hier aber überfragt, ob dieses Format alle Formatierungen  transportiert. Dieses wäre jedoch ohne weiteres auch in Excel 2003 verwendbar.


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    Montag, 17. Mai 2010 20:24
  • Hm, ich wollte das Dokument nicht erst speichern und dann an den Webserver senden. Das "an den Webserver senden" macht im Moment mein AddIn über ein Menüitem.

    Bisher speichere ich alle Informationen, die über das AddIn eingefügt werden, in einen XML-Dokument im AddIn. Die Änderungen, die ein Benutzer per Hand macht (Texte, Formatierungen, Bilder) bekomme ich mit (über Events). Es ist aber relativ schwierig für jede geänderte Zelle den Wert und die Formatierung in mein Dokument zu speichern. Wie ich es mache, wenn ein Kunde ein Logo (Bild) einfügt, weiss ich noch garnicht.
    Deshalb wäre es gut, wenn man das ganze Workbook serilisieren könnte.

    Hat noch jemand Ideen?


    Danke.

    Andreas

    Donnerstag, 20. Mai 2010 13:41
  • Hallo Andreas,

    welchen Vorteil versprichst Du Dir davon auf das Speichern des Workbooks zu verzichten? Das Workbook befindet sich doch ohnehin auf der lokalen Festplatte des Anwenders.


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    Donnerstag, 20. Mai 2010 16:54