文書生成の自動化は、企業が動的レポート、請求書、手紙を作成するために重要です。Aspose.Words Mail Merge for .NETを使用すると、オブジェクト、CSV、JSON、XMLなどのさまざまなソースからデータを効率的にWordテンプレートに埋め込むことができます。このガイドでは、特にC# .NETによる動的Word文書生成に焦点を当て、C#での簡素化された自動化された文書ワークフローのMail Mergeの利用方法を示します。
カバーされるトピック:
Mail Merge for .NETの概要
Aspose.Words Mail Merge for .NETは、開発者がマージフィールドを含む既定のテンプレートから個別の文書を生成できるようにします。このプラグインは、.NET環境内でシームレスに統合できるように設計されており、以下の機能を提供します:
- テンプレートを動的にデータで埋め込み、.NETフレームワークのWord文書生成をサポートします。
- 大量のデータセットを利用した効率的な文書のバルク生成を実現します。
- 出力の整合性を保ち、C# Word文書テンプレートのベストプラクティスを効果的に向上させます。
主な特徴:
- マルチソースサポート: オブジェクト、データベース、XML、JSON、CSVからのデータを使用して、C#でカスタマイズされたWord文書を作成できます。
- 高性能: 大規模なデータセットとバルク処理を効率的に処理し、.NET Coreによる動的Word文書生成を実現します。
- カスタマイズ可能なテンプレート: データ挿入用のプレースホルダーを持つテンプレートを作成し、.NET Wordメールマージ自動化の機能を活用します。
セットアップ
NuGetを使用してAspose.Wordsをインストールします。
PM> Install-Package Aspose.Words
C#オブジェクトを使用してテンプレートからWord文書を生成する
最初に、C#オブジェクトを使用してWordテンプレートを埋め込む方法を見てみましょう。これを示すために、以下のプレースホルダーを内容に含むWord文書(DOC/DOCX)を作成します:
<<[sender.Name]>> が言います: "<<[sender.Message]>>."
ここで、senderは、C#データベースからWord文書を生成するアプローチを使用してテンプレートを埋めるために使用するクラスのインスタンスです。
次に、Aspose.Wordsのレポーティングエンジンを使用して、テンプレートからWord文書を生成するために以下の手順に従います:
- Documentクラスのインスタンスを作成し、Wordテンプレートのパスで初期化します。
- Senderクラスのオブジェクトを作成して初期化します。
- ReportingEngineクラスをインスタンス化します。
- ReportingEngine.BuildReport()を使用してテンプレートを埋め込み、Documentのインスタンス、データソース、およびデータソースの名前をパラメータにします。
- Document.Save()メソッドを使用して生成したWord文書を保存します。
以下のコードサンプルは、C#でテンプレートからWord文書を生成する方法を示しています。
出力
XMLデータソースを使用したC#での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文書を生成する方法を示すコードサンプルです。
出力
C#でのJSONデータソースを使用したWord文書の生成
次に、JSONデータソースを使用してWord文書を生成する方法を見ていきましょう。この例では、マネージャーによってセグメント化されたクライアントのリストを作成します。Wordテンプレートは次のようになります:
<<foreach [in managers]>>マネージャー: <<[Name]>>
契約:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>
テンプレートを取得するために使用する対応するJSONデータソースは以下の通りです:
JSONからWord文書を生成するために、JsonDataSourceクラスを使用してデータソースを読み込み、残りの手順は前の構造に従います。以下のコードサンプルは、C#でJSONテンプレートからWord文書を生成する方法を示しています。
出力
C#でのCSVデータソースを使用したWord文書の生成
CSVソースからWord文書を生成するには、以下のWordテンプレートを利用します:
<<foreach [in persons]>>名前: <<[Column1]>>, 年齢: <<[Column2]>>, 生年月日: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
平均年齢: <<[persons.Average(p => p.Column2)]>>
このテンプレートは以下のCSVデータを使用して埋め込まれます:
ここで、C#コードを確認します。手順はほぼ同じですが、1つの重要な違いは、CsvDataSourceクラスを使用してCSVデータを読み込むことです。以下のコードサンプルは、CSVデータソースからWord文書を生成する方法を示しています。
出力
Aspose.Words for .NETを無料でお試しください
無料の一時ライセンスを使用して_Aspose.Words for .NET_をお試しいただけます。
結論
この記事では、C#を使用してテンプレートからWord文書を生成する方法を学びました。オブジェクト、XML、JSON、CSVなどのさまざまなデータソースを利用して動的文書生成 .NETを実現する方法も発見しました。さらに、ドキュメントを探索して**.NET Wordテンプレート処理**の機能を深く掘り下げたり、フォーラムを通じてご連絡することができます。