ExcelでのC#のメールマージ | ExcelのメールマージからExcelへ

メールマージを使用すると、手紙、電子メール、請求書、または証明書などのパーソナライズされた文書を一括で簡単に作成できます。最初にテンプレートを用意し、スプレッドシートのデータを使用してそれを埋めます。Excelファイルの各行は、正しい詳細が正しい場所にある新しい文書を生成します。これは、請求書の送付やレポートの生成など、繰り返しの作業を自動化する賢い方法です。この投稿では、C#を使用してExcelからメールマージを実行する方法を示します。それでは始めましょう。

この記事では以下のトピックについて説明します:

C# メールマージ Excel ライブラリ

私たちは、Aspose.Cells for .NET APIを使用して、C#でExcelからメールマージを実行します。これは、コード内でExcelファイルを直接操作するための強力なツールを提供します。開発者は、スプレッドシートを簡単に作成、読み取り、更新できます。面倒なくメールマージのような高度なタスクも処理できます。このライブラリは、Excelの自動化を迅速で柔軟かつ信頼性のあるものにします。

Aspose.Cells for .NETを始めるには、次の簡単なインストール手順に従ってください:

  1. releases からダウンロードしてください。
  2. ライブラリを次のコマンドで NuGet Package Manager を使用してインストールします:
PM> Install-Package Aspose.Cells

Mail MergeはAspose.Cellsでどのように機能しますか?

Aspose.Cells は the same way as Word における「メールマージ」をサポートしていません。代わりに、Smart Markers を使用してExcelにメールマージを追加します。これらのマーカーはスプレッドシート内のプレースホルダーとして機能し、ライブラリは実行時にそれらを実際のデータで置き換えます。データソースから各行を処理しながら、テンプレートを埋め込み、コンテンツを自動的に拡張することで、わずか数行のC#コードで完全にパーソナライズされたドキュメントを生成できます。

&=DataSource.ColumnName

処理中に、Aspose.Cellsはこれらを DataTableList<T>、または任意の IEnumerable からの実際のデータに置き換えます。たとえば、ライブラリは &=Data.Name をデータテーブルの名前列からの値に置き換えます。

Excelテンプレートを準備してください。

Excelファイルを作成します(例:Template.xlsx)スマートマーカー付きです。以下はサンプルレイアウトです。

名前メール金額
&=Data.Name&=Data.Email&=Data.Amount

Excelを使用してC#でメールマージを実行するためのステップバイステップガイド

Excelを使用してAspose.Cells for .NETからメールマージを実行するには、次の手順に従ってください:

ステップ1: Excelテンプレートを読み込む

ExcelテンプレートファイルをWorkbookクラスを使用してロードします。Workbookクラスは、全体のExcelファイル(ワークブック)を表します。ロードされたテンプレートファイルは、マージされた出力のレイアウトとして機能します。

Workbook workbook = new Workbook("Template.xlsx");

ステップ 2: データテーブルを作成する

ここでは、Excel データソースをシミュレーションする DataTable を作成します。各列はスマートマーカーに対応し、各行は挿入する値の1セットを表します。System.Data からの DataTable クラスは、マージしたいデータを保持します。各列はスマートマーカーに対応し、各行はユニークな値のセットを提供します。

DataTable dt = new DataTable("Data");
dt.Columns.Add("Name");
dt.Columns.Add("Email");
dt.Columns.Add("Amount");

dt.Rows.Add("Alice", "alice@example.com", 1000);
dt.Rows.Add("Bob", "bob@example.com", 1500);

ステップ 3: Excel テンプレートをデータ ソースにリンクする

私たちは WorkbookDesigner クラスを使用して、テンプレートとデータを接続します。 WorkbookDesigner は、スマートマーカーとデータバインディングを処理するために設計された Aspose.Cells の特別なクラスです。これは、データソース(DataTable など)を Excel テンプレートにリンクします。 SetDataSource() メソッドは、DataTable(Data)をワークブック内のスマートマーカーにバインドします。

WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource(dt);
  • SetDataSource() は、DataTable をワークブック内のスマートマーカーに接続します。
  • "Data"&=Data.Name のようなマーカーで使用される名前です。

ステップ 4: メール マージを実行する

データソースを設定すると、Process() を呼び出すことで、DataTableからの実際の値で全てのスマートマーカーが埋められます。このコマンドはメールマージを実行します。スマートマーカーを順に処理し、それらをデータソースからの実際の値で置き換えます。

designer.Process();

ステップ 5: ファイルを保存する

最後に、すべてのデータが統合された完了したファイルを保存します。

workbook.Save("MergedOutput.xlsx");

マージされた出力をPDFとして保存する

1行のコードで、マージしたExcel文書をPDFとして簡単に保存できます。

// Set PDF options
PdfSaveOptions options = new PdfSaveOptions();

// Save as PDF
workbook.Save("MergedDocument.pdf", SaveFormat.Pdf);

Complete C# コードによるデータのメールマージ

// Excelテンプレートをロードします。
Workbook workbook = new Workbook("Template.xlsx");

// Create dummy data
DataTable dt = new DataTable("Data");
dt.Columns.Add("Name");
dt.Columns.Add("Email");
dt.Columns.Add("Amount");

dt.Rows.Add("Alice", "alice@example.com", 1000);
dt.Rows.Add("Bob", "bob@example.com", 1200);

// データソースを設定します
WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource(dt);

// スマートマーカーを処理します(メールマージ)
designer.Process();

// Save the output
workbook.Save("MergedOutput.xlsx");

Output

出力されたExcelファイルには、スマートマーカーの代わりに個別のデータが入力された各エントリの行が含まれています。

ExcelからC#でのメールマージ - 出力

ExcelからC#でのメールマージ - 出力

無料ライセンスを取得する

無料の一時ライセンスを取得して、制限なしでAspose.Cells for .NETの全機能をテストできます。これは、メールマージ、Excelレポーティング、またはPDFエクスポートなどの自動化タスクのためにAPIを評価している場合に最適です。

ExcelからExcelメールマージ:無料リソース

Excelのメールマージに加えて、Aspose.Cells for .NETの理解を深めるためのさまざまなリソースを提供しています。私たちのドキュメント、チュートリアル、コミュニティフォーラムをチェックして、さらに詳しい情報を得てください。

よくある質問 (FAQs)

Q1: Microsoft Office がインストールされていなくても Excel のメールマージを使用できますか?

はい、メールマージはMicrosoft Officeを必要としません。Aspose.Cellsは独立して動作し、独自のAPIを介してすべてを処理します。

Q2: Smart MarkersとWord Merge Fieldsの違いは何ですか?

Smart Markers は Excel 内で機能し、行単位のデータ拡張のためによりカスタマイズ可能です。マージフィールドは Word 特有のものです。

Q3: Asposeを使用してExcelからWordにマージできますか?

はい、そのシナリオには Aspose.Words が必要です。

Q4: ExcelのマージからPDFを生成する自動化は可能ですか?

絶対に。最終的なワークブックをPDF形式で保存するには、Aspose.Cellsを使用してください。

結論

Excelからのメールマージは、馴染みのあるスプレッドシートインターフェースを使用して、動的でパーソナライズされたドキュメントを生成する強力な方法を提供します。このブログ投稿では、C#を使用してExcelからのメールマージについて説明しました。Aspose.Cells Smart Markersを使用することで、このプロセスを完全に自動化し、何千もの請求書、証明書、または任意の構造化レポートを生成する柔軟性を得ます。

ご質問がある場合や、さらにサポートが必要な場合は、無料サポートフォーラムまでお気軽にお問い合わせください。

See Also