この記事では、生のJSONデータを.NETアプリケーション内で見やすく理解しやすいレポート形式にフォーマットする問題について説明します。シンプルなテンプレートを使用して、** JSONデータをC#でPDFおよびDOCXレポートに変換**します。

CSharpでJSONからPDFまたはWordレポートを生成する

レポート生成用の.NETAPI

GroupDocs.Assembly for .NETは、.NETアプリケーション用のレポート生成およびドキュメント自動化APIです。 ** JSON XML CSV などのさまざまな形式で利用可能なデータと、 Word **ドキュメント、スプレッドシートなどのさまざまな形式のテンプレートからレポートを生成できます。 プレゼンテーション、またはテキスト形式。また、箇条書き、番号付きリスト、グラフ、表、画像、バーコードなどの多くのレポートフォーマット機能もサポートしています。

DLLまたはMSIインストーラーはダウンロードセクションからダウンロードするか、NuGetを介して.NETアプリケーションにAPIをインストールできます。

PM> Install-Package GroupDocs.Assembly

C#でJSONデータからPDFレポートを生成する

JSONデータをC#でフォーマットされたPDFレポートに変換するための手順から始めましょう。

  • JSONデータソースを取得する
  • JSONデータに従ってテンプレートを定義する
  • レポート生成用の単純なC#コードにJSONデータソースとテンプレートを提供します。

JSONデータ

まず、次のサンプルJSONデータは、マネージャーとそれぞれのクライアントおよび詳細を示すPDFレポートの生成に使用されます。

\[
	{
		"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}\]
	}
\]

テンプレート

次に、次のテンプレートをTXT、DOCX、または必要な形式で定義します。これにより、マネージャーのデータとそれぞれのクライアントおよびその詳細を繰り返すことができます。その後、レポート生成のコードにジャンプできます。

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

C#JSONをPDFレポートに変換する手順

C#コードの次の手順は、定義されたテンプレートに従ってJSONデータからPDFレポートへの変換を自動化します。

  • JSONデータ、テンプレートファイル、およびPDF出力レポートファイルのパスを定義します。
  • JSONデータファイルを使用してJsonDataSoureをインスタンス化します。
  • 定義されたJsonDataSourceでDataSourceInfoを作成します。
  • DocumentAssemblerクラスの_**AssemblyDocument ** _メソッドを呼び出して、提供されたJSONデータと定義されたテンプレートからPDFレポートを生成します。
// GroupDocs.Assembly APIを使用してC#でTXTテンプレートを使用してJSONデータからPDFレポートを生成する
// データソース、テンプレート、および出力レポートファイルを定義します。
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.txt";
const string strDocumentReport = "reportsPath/reportFromJSON.pdf";
// JSONデータソースをインスタンス化する
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// レポートの生成
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
    CommonUtilities.SetDestinationDocument(strDocumentReport),
    new DataSourceInfo(dataSource, "managers"));

このコードは、上の図に示すようにPDFレポートを生成します。 GitHubリポジトリの上記および同様の例をテストすることもできます。

C#でJSONデータからMSWordレポートを生成する

同様に、上記のPDFレポートを生成するのと同様に、次の手順に従ってDOCXレポートを作成できます。

  • 同じテンプレートをDOCX形式で定義します。
  • 出力レポートドキュメント形式をDOCXとして設定します。
  • 残りのコードは、JSONデータからMSWordDOCXレポートを生成するために同じままです。
// GroupDocs.Assembly APIを使用してC#でDOCXテンプレートを使用してJSONデータからWordレポートを生成する
// データソース、テンプレート、および出力レポートファイルを定義します。
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.docx";
const string strDocumentReport = "reportsPath/reportFromJSON.docx";
// JSONデータソースをインスタンス化する
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// レポートの生成
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
    CommonUtilities.SetDestinationDocument(strDocumentReport),
    new DataSourceInfo(dataSource, "managers"));

詳細、オプション、および例については、ドキュメントおよびGitHubリポジトリにアクセスしてください。さらに質問がある場合は、フォーラムの無料サポートにお問い合わせください。

結論

この記事では、C#を使用して.NETアプリケーション内でJSONデータをPDFレポートに変換する方法を学びました。さらに、CSVやXMLなどの他のデータソースを使用して、DOCXなどの他の形式でレポートを生成できます。レポートジェネレーター.NETアプリケーションの作成を快適に開始できることを願っています。

関連項目