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.
Poniżej omówiono następujące tematy:
- .NET API do generowania raportów
- Wygeneruj raport PDF z danych XML za pomocą C#
- Wygeneruj raport MS Word DOC/DOCX z danych XML za pomocą C#
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.
- Załaduj swoje źródło danych XML.
- Zdefiniuj szablon zgodnie z załadowanymi danymi XML.
- 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.