XML ist eine vom W3C empfohlene, selbstbeschreibende Sprache zum Speichern und Transportieren von Daten. Ein Entwickler kann das XML-Format in jedes andere besser lesbare Format wie PDF oder MS Word-Dokument innerhalb der .NET-Anwendung ändern. In diesem Artikel wird erläutert, wie XML-Daten mithilfe von C# über einfache Vorlagen in PDF- und MS Word-Berichte konvertiert werden.

XML-zu-PDF-Bericht in C#

Nachfolgend werden folgende Themen behandelt:

Berichterstellung .NET API – XML zu PDF und WORD

GroupDocs.Assembly for .NET ist die API zur Automatisierung der Berichterstellung aus den XML-Daten unter Verwendung der DOCX- oder TXT-Vorlage. Darüber hinaus unterstützt es JSON, CSV und andere Datenquellen, um die Daten in Berichte verschiedener Dateiformate zu konvertieren.

Sie können das DLLs- oder MSI-Installationsprogramm aus dem Downloadbereich herunterladen oder die API in Ihrer .NET-Anwendung über NuGet installieren.

PM> Install-Package GroupDocs.Assembly

PDF-Bericht aus XML-Daten in C# generieren

3 einfache Schritte führen Sie zur Konvertierung von XML-Daten in den formatierten PDF-Bericht.

  1. Laden Sie Ihre XML-Datenquelle.
  2. Definieren Sie die Vorlage gemäß den geladenen XML-Daten.
  3. Stellen Sie schließlich eine XML-Datenquelle und eine Vorlage für eine Berichterstellungsmethode bereit.

XML-Daten

Die folgenden XML-Beispieldaten werden verwendet, um sie in den PDF-Bericht zu konvertieren. Es enthält die Daten von Managern und ihren jeweiligen Kunden mit einigen weiteren Details.

<Managers>
	<Manager>
		<Name>John Smith</Name>
		<Contract>
			<Client>
				<Name>A Company</Name>
			</Client>
			<Price>1200000</Price>
		</Contract>
		<Contract>
		...
		</Contract>
		...
	</Manager>
	<Manager>
		<Name>Tony Anderson</Name>
		...
	</Manager>
	...
</Managers>

Schablone

Definieren Sie die Vorlage im TXT- oder DOCX-Format gemäß Ihren XML-Quelldaten. Ich verwende die unten genannte Vorlage, die gemäß den oben genannten XML-Daten von Managern erstellt wird. Dadurch wird der Berichtsgenerator dazu veranlasst, Manager und ihre jeweiligen Clients zu durchlaufen. Nach Fertigstellung der Vorlage sind Sie fast fertig. Sie können den folgenden Code für Ihre Berichterstellung verwenden.

<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>

C#-Schritte zum Generieren von PDF-Berichten aus XML

Mit den folgenden Schritten können Sie die Generierung von PDF-Berichten aus Ihren XML-Daten gemäß Ihrer definierten Vorlage automatisieren.

  • Definieren Sie XML-Datendateien, Textvorlagendateien und PDF-Ausgabeberichtsdateien.
  • Instanziiere XMLDataSoure mit XML-Datendatei.
  • Erstellen Sie DataSourceInfo mit definierter XML-Datenquelle.
  • Rufen Sie die Methode AssembleDocument auf, um den PDF-Bericht zu generieren.

Der folgende Code implementiert die obigen Schritte und generiert eine PDF-Datei aus der XML-Datenquelle mit C#.

// Generieren Sie einen PDF-Bericht aus XML-Daten mithilfe der TXT-Vorlage in CSharp
// Definieren Sie Datenquelle, Vorlage und Ausgabeberichtsdateien.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-pdf-report.pdf";
// XML-Datenquelle laden
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Dokument zusammenstellen, um PDF zu generieren
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

Generieren Sie MS Word-Berichte aus XML-Daten in C#

Auf die gleiche Weise können Sie den Bericht auch im MS Word DOC/DOCX-Format erstellen, indem Sie dieselben XML-Daten verwenden. Der Code unterscheidet sich nicht von dem oben besprochenen, außer dass Sie den Namen der Ausgabedatei ändern müssen.

  • Laden Sie die XML-Datendatei.
  • Definition der Vorlage im TXT- oder DOCX-Format.
  • Legen Sie das Dokumentformat des Ausgabeberichts als DOCX fest.
  • Stellen Sie die XML-Datendatei, die Vorlage und den Ausgabedateipfad für DocumentAssembler bereit, um das XML in DOCX zu konvertieren.

Der folgende Code konvertiert das XML und generiert die DOCX-Datei unter Verwendung der definierten Vorlage mit C#.

// Generieren Sie einen MS Word-Bericht aus XML-Daten mithilfe einer Textvorlage in CSharp
// Definieren Sie Datenquelle, Vorlage und Ausgabeberichtsdateien.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-word-report.docx";
// XML-Datenquelle laden
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Stellen Sie das Dokument zusammen, um einen Word-Bericht zu erstellen
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

Holen Sie sich eine kostenlose API-Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die API ohne die Evaluierungseinschränkungen zu verwenden.

Fazit

Zusammenfassend haben Sie gelernt, die XML-Daten als Report mit C# in der .NET-Anwendung in das PDF-Format umzuwandeln. Darüber hinaus haben wir die Berichterstellung im DOC/DOCX-Format aus demselben XML unter Verwendung der Vorlage besprochen. Nachdem Sie diese Reihe von Beiträgen zur Berichterstellung gelesen haben; Generieren Sie PDF- und MS Word-Berichte aus JSON, CSV, XML, Sie können Ihre eigene .NET-Anwendung zum Erstellen von Berichten entwickeln.

Weitere Informationen zu GroupDocs.Assembly, Optionen und Beispielen finden Sie unter documentation und im GitHub-Repository. Bei weiteren Fragen kontaktieren Sie uns über das Forum.

Siehe auch