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

DDC hakt nach: Wie baust Du eine Softwarearchitektur ohne Schuldenfalle auf?
Moderne Softwarearchitektur muss zukunftsfähig sein – aber auch schon heute funktionieren. David Tielke über den architektonischen Spagat zwischen Cloud, KI, Schuldenmanagement und gesundem Menschenverstand.
7 Minuten
22. Sep 2025
Ein Jahr CODELUTION Zertifizierungssystem – ein neuer Standard in der IT-Weiterbildung - [sponsered]
Das rollenbasierte Zertifizierungssystem für Entwickler-Schulungen der Karlsruher CODELUTION GmbH hebt sich bewusst von technologiegebundenen Zertifikaten ab.
3 Minuten
25. Sep 2025
Delphi als Turbo für die mobile Entwicklung - Mobile Apps entwickeln mit Delphi, Teil 1
Delphi ermöglicht es, effizient plattformübergreifende Anwendungen zu erstellen. In diesem ersten Teil der Serie beleuchten wir die Motivation ebenso wie das Setup eines ersten Beispielprojekts.
6 Minuten
Miscellaneous

Das könnte Dich auch interessieren

Die Zukunft des Frontends - Webentwicklung: Trends im Bereich Frontend-Architektur
Aktuelle Entwicklungen auf dem Spektrum zwischen Single Page Application und Multi Page Application.
25 Minuten
14. Nov 2022
Sicher ist sicher - Azure DevOps Pipelines Security
Als integraler Bestandteil der Entwicklungsumgebung ist Azure DevOps Pipelines oft Ziel von Angriffen. Da ist es gut zu wissen, wo die Schwachstellen des Systems liegen.
14 Minuten
16. Jun 2025
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
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige