W tym artykule omówiono problem formatowania nieprzetworzonych danych JSON do prezentowalnego i łatwego do zrozumienia formatu raportu w aplikacji .NET. Będziemy konwertować dane JSON na raporty PDF i DOCX w języku C# przy użyciu prostych szablonów.

Wygeneruj raport PDF lub Word z JSON w CSharp

Interfejs API platformy .NET do generowania raportów

GroupDocs.Assembly for .NET to interfejs API do generowania raportów i automatyzacji dokumentów dla aplikacji .NET. Pozwala generować raporty z danych dostępnych w różnych formatach jak JSON, XML czy CSV oraz szablonu w wielu różnych formatach jak dokument Word, arkusz kalkulacyjny, prezentacja czy format tekstowy. Obsługuje również wiele funkcji formatowania raportów, takich jak wypunktowania, listy numerowane, wykresy, tabele, obrazy, kody kreskowe itp.

Możesz pobrać pliki DLL lub instalator 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 JSON w C#

Zacznijmy od kroków, które doprowadzą Cię do przekonwertowania danych JSON na sformatowany raport PDF w języku C#.

  • Pobierz źródło danych JSON
  • Zdefiniuj szablon zgodnie z danymi JSON
  • Podaj źródło danych JSON i szablon do prostego kodu C# na potrzeby generowania raportów.

Dane JSON

Po pierwsze, następujące przykładowe dane JSON są używane do generowania raportów PDF, które pokazują menedżerów i ich klientów oraz szczegółowe informacje.

\[
	{
		"Name":"John Smith","Contract":\[
		{"Client":{"Name":"A Company"},"Price":1200000},
		{"Client":{"Name":"B Ltd."},"Price":750000},
		{"Client":{"Name":"C & D"},"Price":350000}\]
	},
	{
		"Name":"Tony Anderson","Contract":\[
		{"Client":{"Name":"E Corp."},"Price":650000},
		{"Client":{"Name":"F & Partners"},"Price":550000}\]
	},
	{
		"Name":"July James","Contract":\[
		{"Client":{"Name":"G & Co."},"Price":350000},
		{"Client":{"Name":"H Group"},"Price":250000},
		{"Client":{"Name":"I & Sons"},"Price":100000},
		{"Client":{"Name":"J Ent."},"Price":100000}\]
	}
\]

Szablon

Po drugie, zdefiniuj następujący szablon w TXT, DOCX lub w wymaganym formacie. Pozwala to na iterację danych Menedżerów i ich poszczególnych Klientów oraz ich danych. Następnie możesz przejść do kodu w celu wygenerowania raportu.

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

Kroki C#, aby przekonwertować JSON na raport PDF

Poniższe kroki kodu C# automatyzują konwersję danych JSON do raportu PDF zgodnie ze zdefiniowanym szablonem.

  • Zdefiniuj ścieżki do danych JSON, pliku szablonu i wyjściowego pliku raportu PDF.
  • Utwórz instancję JsonDataSoure z plikiem danych JSON.
  • Utwórz DataSourceInfo ze zdefiniowanym JsonDataSource.
  • Wywołaj metodę AssembleDocument klasy DocumentAssembler, aby wygenerować raport PDF z dostarczonych danych JSON i zdefiniowanego szablonu.
// Generuj raport PDF z danych JSON przy użyciu szablonu TXT w języku C# z interfejsem GroupDocs.Assembly API
// Zdefiniuj źródło danych, szablon i pliki raportów wyjściowych.
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.txt";
const string strDocumentReport = "reportsPath/reportFromJSON.pdf";
// Utwórz instancję źródła danych JSON
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// Generuj raport
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
    CommonUtilities.SetDestinationDocument(strDocumentReport),
    new DataSourceInfo(dataSource, "managers"));

Kod wygeneruje raport w formacie PDF, jak pokazano na powyższym rysunku. Możesz także przetestować i powyżej oraz podobne przykłady z repozytorium GitHub.

Wygeneruj raport MS Word z danych JSON w C#

Podobnie, jak w przypadku generowania powyższego raportu PDF, możesz utworzyć raport DOCX, wykonując następujące czynności:

  • Definiowanie tego samego szablonu w formacie DOCX.
  • Ustaw format dokumentu raportu wyjściowego jako DOCX.
  • Reszta kodu pozostanie taka sama, aby wygenerować raport MS Word DOCX z danych JSON.
// Generuj raport Word z danych JSON przy użyciu szablonu DOCX w języku C# z GroupDocs.Assembly API
// Zdefiniuj źródło danych, szablon i pliki raportów wyjściowych.
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.docx";
const string strDocumentReport = "reportsPath/reportFromJSON.docx";
// Utwórz instancję źródła danych JSON
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// Generuj raport
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
    CommonUtilities.SetDestinationDocument(strDocumentReport),
    new DataSourceInfo(dataSource, "managers"));

Aby uzyskać więcej informacji, opcji i przykładów, odwiedź repozytorium documentation i GitHub. W przypadku dalszych pytań skontaktuj się z bezpłatną pomocą techniczną na forum.

Wniosek

W tym artykule nauczyłeś się konwertować dane JSON na raport PDF w aplikacji .NET przy użyciu języka C#. Ponadto możesz generować raporty w innych formatach, takich jak DOCX, korzystając z innych źródeł danych, takich jak CSV i XML. Mam nadzieję, że poczujesz się komfortowo, rozpoczynając tworzenie aplikacji .NET do generowania raportów.

Zobacz też