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

Vom Python-Modell zur .NET-Anwendung - .NET, Python und KI, Teil 4
Am Szenario einer Sentiment-Analyse verdeutlicht ein durchgängiges Anwendungsbeispiel, wie aus einem isolierten Data-Science-Ergebnis eine konkret genutzte Funktion innerhalb einer .NET-Business-Anwendung entsteht.
7 Minuten
Was Developer in Europa wirklich wollen – und was sie nervt - European Transparent IT Job Market Report
Über 23.000 Stellenanzeigen, mehr als 1.300 befragte IT-Fachleute, sechs europäische Länder: Der Job-Market-Report liefert handfeste Zahlen zu Gehältern, Recruiting-Frust und dem wachsenden Einfluss von KI auf den Arbeitsalltag. Was Developer wirklich wollen – und wo Unternehmen noch deutlich Luft nach oben haben.
3 Minuten
19. Mai 2026
HMAC mit C# und T-SQL - Neues in SQL Server 2025, Teil 3
Kompatible Signaturberechnung über Systemgrenzen hinweg.
4 Minuten
20. Mai 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