Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 2 Min.

Mit XSL-Vorlage Excel-Datei aus XML-Datei erzeugen

XSL kann nicht nur HTML-Dateien aus XML erzeugen. Mit der richtigen XSL-Transformation können Sie auch Tabulator-separierte Tabellen erzeugen.
Für diese Umwandlung von XML-Daten in eine Excel-Datei bieten sich mehrere Möglichkeiten an. Die einfachste lautet sicher: Verwenden Sie Excel 2003, denn das öffnet XML-Dateien.Wenn aber das Ziel eine frühere Version von Excel ist, muss die XML-Datei in eine für Excel lesbare Form gebracht werden. Das kann auch wiederum auf verschiedene Art und Weise passieren. Ein Weg wäre das Laden der XML-Datei in ein DataSet. Anschließend durchlaufen foreach-Schleifen die Zellen des DataSet und schreiben über eine ADO.NET-Verbindung die Daten in eine Excel-Datei.Wesentlich weniger Programmiererei fällt an, wenn Sie die XML-Datei über eine XSL-Transformation in eine Komma-separierte Liste umwandeln.Die Transformationsdatei sieht etwa so aus:<xsl:stylesheet

  xmlns:xsl="https://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:output method="xml" indent="no"

  cdata-section-elements="beschreibung" />

<xsl:template match="eventList">

  <xsl:apply-templates select="rubrik"/>

</xsl:template>

<xsl:template match="rubrik">

"<xsl:value-of select="@titel"/>"

<xsl:apply-templates select="event"/>

</xsl:template>

<xsl:template match="event">"<xsl:value-of select="startDatum" />" 

"<xsl:value-of select="thema" />"  "<xsl:value-of select="beschreibung"/>" 

"<xsl:value-of select="preis" />"  "<xsl:value-of select="url" />" 

"<xsl:value-of select="ort" />"<xsl:text>

</xsl:text></xsl:template>

</xsl:stylesheet>Wichtig: Die Einträge <xsl:value-of select="startDatum" /> und <xsl:value-of select="thema" /> sind durch Tabs getrennt. Das eigentliche Programm zur Konvertierung ist winzig:XslTransform xslt = new XslTransform();

xslt.Load(XSDFileLabel.Text);

XPathDocument doc = new XPathDocument(InFileLabel.Text);

XmlTextWriter writer =

  new XmlTextWriter(OutFileLabel.Text, System.Text.Encoding.Unicode);

xslt.Transform(doc, null, writer, null);

writer.Close();Das Ergebnis kann sofort in Excel geladen werden und die Daten werden richtig in die Zellen sortiert.
Miscellaneous

Neueste Beiträge

00:00
KI und Security: Aufrüsten auf beiden Seiten - Ein Interview mit Christian Wenz, Track Chair Software Security der DWX 2026
KI übernimmt knifflige Aufgaben - wie das Suchen von Sicherheitslücken. Die Erkenntnisse darüber können aber von den Guten und den Bösen verwendet werden.
3. Mär 2026
SignalFTP als Lösung für SignalRC - Der DDC-Truck, Teil 7
SignalFTP zeigt gut, wie man mit den Einschränkungen einer mobilen Verbindung umgehen kann, ohne das Architekturprinzip aufzugeben, das SignalRC zusammenhält: Der Server ist ein Proxy.
11 Minuten
5. Mär 2026

Das könnte Dich auch interessieren

Elektronische Schaltkreise im Browser simulieren - Simulation
Statt mit Steckfeld oder Lötkolben kann man auf dieser Website Schaltungen per Drag and Drop zusammenstellen und deren Verhalten testen.
2 Minuten
26. Jul 2018
C#-.NET-Apps mit WinUI 3 - Komponentenbasierte Apps mit Fluent/FAST, Teil 3
Microsoft macht mit WinUI 3 ein natives User-Experience-Framework für Windows verfügbar, dessen Komponenten auf dem Microsoft-eigenen Design-System Fluent 2 basieren.
23 Minuten
13. Mai 2024
UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige