XML to zalecany przez W3C, samoopisowy język przeznaczony do przechowywania i przesyłania danych. Deweloper może zmienić format XML na dowolny inny format lepiej czytelny dla człowieka, taki jak PDF lub dokument MS Word w aplikacji .NET. W tym artykule omówimy, jak konwertować dane XML na raporty PDF i MS Word przy użyciu C# za pomocą prostych szablonów.

Raport XML do PDF w C#

Poniżej omówiono następujące tematy:

Generowanie raportów .NET API — XML do PDF i WORD

GroupDocs.Assembly for .NET to API do automatyzacji generowania raportów z danych XML przy użyciu szablonu DOCX lub TXT. Ponadto obsługuje JSON, CSV i inne źródła danych w celu konwersji danych na raporty w różnych formatach plików.

Możesz pobrać instalator bibliotek DLL lub MSI z sekcji pobierania lub zainstalować interfejs API w swojej aplikacji .NET za pośrednictwem NuGet.

PM> Install-Package GroupDocs.Assembly

Wygeneruj raport PDF z danych XML w C#

3 proste kroki doprowadzą Cię do konwersji danych XML na sformatowany raport PDF.

  1. Załaduj swoje źródło danych XML.
  2. Zdefiniuj szablon zgodnie z załadowanymi danymi XML.
  3. Na koniec podaj źródło danych XML i szablon dla metody generowania raportu.

Dane XML

Poniższe przykładowe dane XML są używane do przekonwertowania ich na raport PDF. Zawiera dane menedżerów i ich klientów z dodatkowymi szczegółami.

<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>

Szablon

Zdefiniuj szablon w formacie TXT lub DOCX zgodnie ze źródłowymi danymi XML. Używam poniższego szablonu, który jest tworzony zgodnie z wyżej wymienionymi danymi XML menedżerów. Spowoduje to, że generator raportów będzie iterował po menedżerach i ich odpowiednich klientach. Po ukończeniu szablonu prawie gotowe. Możesz użyć poniższego kodu do wygenerowania raportu.

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

Kroki C# do wygenerowania raportu PDF z XML

Poniższe kroki pozwalają zautomatyzować generowanie raportów PDF z danych XML zgodnie ze zdefiniowanym szablonem.

  • Zdefiniuj plik danych XML, plik szablonu tekstowego i wyjściowe pliki raportów PDF.
  • Utwórz instancję XMLDataSoure z plikiem danych XML.
  • Utwórz DataSourceInfo ze zdefiniowanym źródłem danych XML.
  • Wywołaj metodę AssembleDocument, aby wygenerować raport PDF.

Poniższy kod implementuje powyższe kroki i generuje plik PDF ze źródła danych XML przy użyciu języka C#.

// Wygeneruj raport PDF z danych XML za pomocą szablonu TXT w CSharp
// Zdefiniuj źródło danych, szablon i pliki raportów wyjściowych.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-pdf-report.pdf";
// Załaduj źródło danych XML
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Złóż dokument, aby wygenerować plik PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

Wygeneruj raport MS Word z danych XML w C#

W ten sam sposób możesz również utworzyć raport w formacie MS Word DOC/DOCX, używając tych samych danych XML. Nie będzie różnicy w kodzie od tego, który omówiliśmy powyżej, z wyjątkiem tego, że musisz zmienić nazwę pliku wyjściowego.

  • Załaduj plik danych XML.
  • Definiowanie szablonu w formacie TXT lub DOCX.
  • Ustaw format dokumentu raportu wyjściowego jako DOCX.
  • Podaj plik danych XML, szablon i ścieżkę pliku wyjściowego do DocumentAssembler, aby przekonwertować XML na DOCX.

Poniższy kod konwertuje plik XML i generuje plik DOCX przy użyciu zdefiniowanego szablonu przy użyciu języka C#.

// Wygeneruj raport MS Word z danych XML za pomocą szablonu tekstowego w CSharp
// Zdefiniuj źródło danych, szablon i pliki raportów wyjściowych.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-word-report.docx";
// Załaduj źródło danych XML
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Złóż dokument, aby wygenerować raport programu Word
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

Uzyskaj bezpłatną licencję API

Możesz uzyskać bezpłatną tymczasową licencję, aby korzystać z API bez ograniczeń ewaluacyjnych.

Wniosek

Podsumowując, nauczyłeś się konwertować dane XML do formatu PDF jako raport za pomocą C# z aplikacją .NET. Dodatkowo omówiliśmy generowanie raportów w formacie DOC/DOCX z tego samego XML-a za pomocą szablonu. Po przeczytaniu tej serii postów dotyczących generowania raportów; Generuj raporty PDF i MS Word z JSON, CSV, XML, możesz stworzyć własną aplikację .NET do tworzenia raportów.

Aby uzyskać więcej informacji na temat GroupDocs.Assembly, opcji i przykładów, odwiedź documentation i repozytorium GitHub. W przypadku dalszych pytań skontaktuj się z nami za pośrednictwem forum.

Zobacz też