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

Müssen Ziele SMART sein?
Wenn es um Ziele im Projektmanagement oder in der Führung einer Organisation geht, stoßen wir schnell und fast ausnahmslos auf das Akronym SMART. Was steckt dahinter, und kann es nicht auch sinnvolle Ziele geben, die nicht SMART sind?
8 Minuten
Managed DevOps Pools - Azure DevOps Pipelines Security
Agent Pools als Managed Service mit einfacher Integration in private Netzwerke und Authentisierung mittels Managed Identity tragen deutlich zur Sicherheit der Agent-Infrastruktur bei.
7 Minuten
7. Aug 2025
Arbeiten mit Tabellen und KI in Dataverse
Microsoft unterstützt die zentrale Datenmanagement-Lösung Dataverse in Power Apps mit KI-Features.
7 Minuten
6. Aug 2025
Miscellaneous

Das könnte Dich auch interessieren

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
CodeProject.AI Server in neuer Version - Lokaler AI-Server
CodeProject.AI Server (jetzt in Version 2.1.10) ist ein lokal installierter, selbstgehosteter, schneller, kostenloser und Open Source Artificial Intelligence Server für jede Plattform und jede Sprache.
2 Minuten
Für Einsteiger: Backend-Webentwicklung mit .NET - Microsoft
Auf YouTube bietet Microsoft eine Videoserie für Einsteiger in die Backend-Webentwicklung mit .NET.
2 Minuten
13. Feb 2024
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige