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

MicrosoftExcelのデータテーブルからカスタマイズされたレポートを簡単に作成できます。このようなレポートは、Excelスプレッドシートをデータのテーブルとして使用することにより、プログラムで生成できます。この記事では、C#を使用してExcelデータからレポートを生成する方法に焦点を当てます。

この記事では、次のトピックについて説明/取り上げています。

レポートを生成するためのC#API

GroupDocs.Assembly for .NET APIを使用して、Excelデータからレポートを生成します。これにより、強力なドキュメント自動化およびレポート生成アプリケーションを構築できます。 APIは、XML、JSON、CSVなどのさまざまなデータソースからのデータのフェッチをサポートしています。 PDF、HTML、MicrosoftWordなどの一般的に使用されるすべてのファイル形式でレポートを簡単に生成できます。 .NETプラットフォームを対象とするあらゆる開発環境でアプリケーションを開発するために使用できます。

APIのDLLをダウンロードするか、NuGetを使用してインストールできます。

Install-Package GroupDocs.Assembly

C#を使用してExcelデータからレポートを生成する

以下に説明する簡単な手順に従って、Excelデータからレポートを生成できます。

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

Excelデータ

Excelスプレッドシートで利用可能な表形式のデータは、レポートを生成するためのデータソースとして使用できます。レポートの生成には、次のサンプルExcelデータを使用します。これは、クライアントとそれぞれのマネージャーとの契約データおよび合意された契約価格です。

Excelデータソース

Excelデータソース

テンプレート

次に、DOCXファイルで次のテンプレートを定義します。これにより、契約のデータとそれぞれのマネージャーを契約価格で繰り返すことができます。その後、レポート生成用のコードにジャンプできます。

レポートテンプレート

レポートテンプレート

C#でExcelをWordレポートに変換する

テンプレートに基づいてExcelデータからDOCXレポートへの変換を自動化するには、以下の手順に従ってください。

  • Excelデータファイル、テンプレートファイル、およびDOCX出力レポートファイルのパスを定義します
  • DocumentTableOptionsを定義します
  • 定義されたExcelデータファイルとDocumentTableOptionsを使用してDocumentTableを作成します
  • DocumentAssemblerクラスのAssembleDocumentメソッドを呼び出して、提供されたExcelデータと定義されたテンプレートからレポートを生成します

次のコードサンプルは、C#を使用して、定義されたテンプレートに従ってExcelデータソースからレポートを生成する方法を示しています。

string ExcelDataFile = "Contracts_Data.xlsx";
string strDocumentTemplate = "Template.docx";
string strDocumentReport = "Output.docx";

// Excelファイルからデータテーブルを定義する
DocumentTableOptions options = new DocumentTableOptions 
{ 
    FirstRowContainsColumnNames = true 
};
DocumentTable table = new DocumentTable(ExcelDataFile, 0, options);

// 外部ドキュメントテーブルをデータソースとして使用してドキュメントをアセンブルします。
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(strDocumentTemplate, strDocumentReport,
    new DataSourceInfo(table, "contracts"));

上記のコードサンプルは、次のレポートを生成します。

生成されたレポート

生成されたレポート

DocumentTableOptionsクラスは、ドキュメントテーブルからのデータの抽出を制御するための一連のオプションを提供します。ここでは、FirstRowContainsColumnNamesプロパティがtrueに設定されています。

DocumentTableクラスは、ドキュメントの組み立て中に使用される外部ドキュメントにある単一のテーブル(またはスプレッドシート)のデータへのアクセスを提供します。

DocumentAssemblerクラスは、データを含むテンプレートドキュメントに基づいてレポートを生成するメソッドを提供します。

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

無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを試すことができます。

結論

この記事では、C#を使用してExcelデータからレポートを生成する方法を学習しました。 ドキュメントを使用して、GroupDocs.Assembly for.NETAPIの詳細を確認できます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目