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.

Neueste Beiträge

Hierarchische Testdata-Builder - Testdata-Builder, Teil 1
Lesbare Tests bei tiefen Objekthierarchien mit dem Collection-Builder-Pattern.
4 Minuten
Generative AI und Python - Python und AI, Teil 4
Generative KI mit Python nutzen und so die Basis für eigene Anwendungen schaffen.
7 Minuten
DDC hakt nach: Hör auf, Dich über Verbindungsstrings zu ärgern
Die App läuft lokal wie geschmiert, aber sobald Backend-Services ins Spiel kommen, stottert die Maschine. Connection Strings, die nicht wollen. Emulator-Konfigurationen, die nerven. Johan Smarius erklärt im Interview und auf der .NET Developer Conference 2025, wie es anders - und viel besser geht.
4 Minuten
10. Nov 2025
Miscellaneous

Das könnte Dich auch interessieren

Wexflow: .NET Open Source Workflow-Engine - CodeProject
Wexflow ist eine quelloffene und plattformübergreifende Workflow-Engine und Automatisierungsplattform, die darauf abzielt, wiederkehrende Aufgaben zu automatisieren.
2 Minuten
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
Das Model Context Protocol (MCP) mit C# verwenden - Kommunikation mit der KI
Mit dem neuen MCP C# SDK können Entwickler die Kommunikation zwischen KI-Modellen und Anwendungen effizient gestalten. Ein Blogpost bietet eine Schritt-für-Schritt-Anleitung zur Implementierung eines MCP-Servers.
3 Minuten
10. Apr 2025
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige