0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

.NET Core: FastReportを使用したWinFormsでの帳票作成

0
Last updated at Posted at 2025-09-30

概要

FastReportは、.NET8 / .NET Core / .NET Framework 4.x に対応したレポートジェネレータです。MVC、WinForms、Web APIなど、さまざまなアプリケーションで利用できます。

この記事では、.NET Coreフレームワーク上のWinFormsアプリケーションでFastReportを使用する方法を見ていきます。


FastReport Designerの概要

以下はFastReport Designerの画面です。

image.png

  • 左側: レポートの各バンド(領域)で操作できるコンポーネントのリストです。
  • 右側: データソースのツリーが表示されます。レポートのデータソースは、右側の「Actions」コマンドから追加します。

レポートの設計が完了したら、拡張子 .frx でファイルを保存します。
次に、プロジェクトの作業ディレクトリに Reports という名前のフォルダ(存在しない場合)を作成し、そこにレポートファイル(例: StudentList.frx)をコピーします。


C#からレポートを呼び出す方法

C#からレポートを呼び出すには、ボタンのクリックイベントなどに処理を記述します。
ここでは、DataSet をデータソースとして利用し、事前に作成したレポートファイル report.frx を表示する例を紹介します。

サンプルコード

まず、レポートに渡すためのデータセットを準備し、ボタンクリックでレポートを表示するコードは以下のようになります。

using System;
using System.Data;
using System.Windows.Forms;
using FastReport;

namespace DataFromDataSet
{
    public partial class Form1 : Form
    {
        private DataSet FDataSet;

        public Form1()
        {
            InitializeComponent();
            // フォーム起動時にデータセットを作成
            CreateDataSet();
        }

        // レポート用のデータセットを作成するメソッド
        private void CreateDataSet()
        {
            FDataSet = new DataSet();

            DataTable table = new DataTable();
            table.TableName = "Employees"; // この名前はレポートデザイナーで設定した名前と一致させる
            FDataSet.Tables.Add(table);

            table.Columns.Add("ID", typeof(int));
            table.Columns.Add("Name", typeof(string));

            table.Rows.Add(1, "Andrew Fuller");
            table.Rows.Add(2, "Nancy Davolio");
            table.Rows.Add(3, "Margaret Peacock");
        }

        // ボタンクリックで既存のレポートを表示するイベント
        private void btnRunExisting_Click(object sender, EventArgs e)
        {
            // 1. Reportオブジェクトのインスタンスを生成
            Report report = new Report();

            // 2. 作成済みのレポートファイル(.frx)を読み込む
            report.Load(@"report.frx"); // パスは適宜調整してください

            // 3. レポートにデータセットを登録する
            report.RegisterData(FDataSet);

            // 4. レポートのプレビューを表示する
            report.Show();

            // 5. リソースを解放する
            report.Dispose();
        }
    }
}

コードのポイント

  1. Report report = new Report();
    レポートを処理するための Report オブジェクトを作成します。

  2. report.Load(@"report.frx");
    FastReport Designerで作成・保存した .frx ファイルを読み込みます。ファイルのパスは、プロジェクトの構成に合わせて調整してください。

  3. report.RegisterData(FDataSet);
    C#側で用意したデータ(この例では DataSet)をレポートに登録します。この処理により、レポートテンプレート内のデータソースと実際のデータが結び付けられます。

  4. report.Show();
    データが反映されたレポートをプレビューウィンドウで表示します。


期待される結果

プログラムを実行した後の出力例は次のようになります。

[画像: 期待されるレポートの出力結果]
image.png

FastReportでは、プレビュー画面から印刷やPDFへのエクスポートが可能です。あなたや顧客の期待に応えるために、レポートを自由にカスタマイズできることを覚えておいてください。

評価版(トライアル)のご案内

FastReportは商用製品ですが、購入前にすべての機能を試すことができる評価版が用意されています。

この記事で紹介した機能や、より高度な帳票作成を試してみたい方は、ぜひ公式サイトから評価版をダウンロードしてみてください。

FastReport .NET 評価版ダウンロードページ

お読みいただきありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?