
ドキュメント生成の自動化は、動的なレポート、請求書、手紙を作成しようとする企業にとって重要です。Aspose.Words Mail Merge for .NETを使用すると、オブジェクト、CSV、JSON、およびXMLを含むさまざまなソースからデータを効率的にWordテンプレートに埋め込むことができます。このガイドでは、C#を使用して自動化されたドキュメントワークフローを実現するためのMail Mergeの利用方法を説明し、C# .NETによる動的Wordドキュメントの作成に焦点を当てます。
目次
Mail Merge for .NETの概要
Aspose.Words Mail Merge for .NETプラグインは、マージフィールドを含む事前定義されたテンプレートから個別のドキュメントを作成するために開発者が利用できるようにします。この統合は、.NET環境内でシームレスに使用できるように設計されており、以下の機能を提供します:
- データでテンプレートを動的に埋め込むことができ、.NETフレームワークのWordドキュメント生成をサポートします。
- .NET mail merge solution for Word documentsを活用して、大量のドキュメント生成を効率的に行います。
- 出力全体の一貫したフォーマットを保証し、C# Wordドキュメントテンプレートのベストプラクティスを向上させます。
主な機能:
- マルチソースサポート:オブジェクト、データベース、XML、JSON、CSVからのデータを利用して、C#でカスタマイズされたWordドキュメントを作成します。
- 高パフォーマンス:大規模なデータセットやバルク操作を効率的に処理し、.NET Coreによる動的Wordドキュメント生成を実現します。
- カスタマイズ可能なテンプレート:データ挿入用のプレースホルダーを持つテンプレートを作成し、.NET Word mail merge automation機能を活用します。
セットアップ
始めるには、NuGetを使用してAspose.Wordsをインストールします:
PM> Install-Package Aspose.Words
C#オブジェクトを使用したテンプレートからのWordドキュメント生成
まず、C#オブジェクトを使用してWordテンプレートを埋め込むことから始めましょう。以下のプレースホルダーを持つWordドキュメント(DOC/DOCX)を作成します:
<<[sender.Name]>> が言います: "<<[sender.Message]>>."
この例では、senderは、テンプレートを埋め込むために使用するクラスのインスタンスです。C#データベースからのWordドキュメント生成アプローチを使用します。
次に、Aspose.Wordsのレポートエンジンを使用して、テンプレートとSenderクラスのインスタンスからWordドキュメントを生成します。以下の手順に従います:
- Documentクラスのインスタンスを作成し、Wordテンプレートのパスで初期化します。
- Senderクラスのオブジェクトを作成して初期化します。
- ReportingEngineクラスのインスタンスを作成します。
- ReportingEngine.BuildReport()を使用してテンプレートを埋め込みます。このメソッドは、Documentのインスタンス、データソース、およびデータソースの名前をパラメーターとして受け取ります。
- Document.Save()を使用して生成されたWordドキュメントを保存します。
以下は、C#でテンプレートからWordドキュメントを生成する方法を示すコードサンプルです。
出力

XMLデータソースからのWordドキュメント生成
XMLデータソースからWordドキュメントを生成するために、以下のプレースホルダーを持つより複雑なWordテンプレートを使用します:
<<foreach [in persons]>>名前: <<[Name]>>, 年齢: <<[Age]>>, 生年月日: <<[Birth]:"dd.MM.yyyy">>
<</foreach>>
平均年齢: <<[persons.Average(p => p.Age)]>>
この例で使用するXMLデータソースは以下の通りです。
XMLデータソースからWordドキュメントを作成するには、以下の手順に従います:
- Documentクラスのインスタンスを作成し、Wordテンプレートのパスで初期化します。
- XmlDataSourceクラスのインスタンスを作成し、XMLファイルのパスで初期化します。
- ReportingEngineクラスのインスタンスを作成します。
- **ReportingEngine.BuildReport()**メソッドを使用してWordテンプレートを埋め込みます。
- **Document.Save()**メソッドを使用して生成されたWordドキュメントを保存します。
以下は、C#でXMLデータソースからWordドキュメントを生成する方法を示すコードサンプルです。
出力

JSONデータソースからのWordドキュメント生成
次に、JSONデータソースを使用してWordドキュメントを生成する方法を探ります。この例では、マネージャー別にセグメント化されたクライアントのリストを作成します。Wordテンプレートは以下のようになります:
<<foreach [in managers]>>マネージャー: <<[Name]>>
契約:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>
テンプレートを埋め込むために使用するJSONデータソースは以下の通りです:
JSONからWordドキュメントを生成するために、JsonDataSourceクラスを使用してデータソースを読み込み、残りの手順は前の構造に従います。以下は、C#でJSONテンプレートからWordドキュメントを生成する方法を示すコードサンプルです。
出力

CSVデータソースからのWordドキュメント生成
CSVソースからWordドキュメントを生成するために、以下のWordテンプレートを利用します:
<<foreach [in persons]>>名前: <<[Column1]>>, 年齢: <<[Column2]>>, 生年月日: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
平均年齢: <<[persons.Average(p => p.Column2)]>>
テンプレートは以下のCSVデータを使用して埋め込まれます:
では、C#コードを確認しましょう。手順は同じですが、1つの重要な違いがあります:CSVデータを読み込むためにCsvDataSourceクラスを使用します。以下のコードサンプルは、CSVデータソースからWordドキュメントを生成する方法を示しています。
出力

Aspose.Words for .NETを無料でお試しください
無料の一時ライセンスを使用して_Aspose.Words for .NET_をお試しいただけます。
結論
この記事では、C#を使用してテンプレートからWordドキュメントを生成する方法を学びました。オブジェクト、XML、JSON、CSVなど、さまざまなデータソースを活用して**.NETでの動的ドキュメント生成を実現する方法を探りました。.NET Wordテンプレート処理**の機能についてさらに詳しく知りたい場合は、ドキュメントを参照し、ぜひフォーラムを通じてお問い合わせください。