ローコード帳票出力(DataReport クラス)
AS-DataReport は、システム開発における帳票出力機能として組み込むことが可能です。
ここでは、DataReport クラスを用いたローコード帳票出力機能について説明します。

・Visual Basic .NET、Visual C# のプログラムから呼び出し可能なアセンブリを提供
・ASP.NET Core Web アプリケーションから使用可能
・Windows Forms、WPF アプリから使用可能
※ データソースファイル、帳票テンプレートファイルを事前に用意しておく必要があります。
※ 明細帳票の出力やバーコード・画像の出力、複数帳票へのデータ切り替えを行う場合は、データソースファイル、帳票テンプレートファイルのほかに帳票設定ファイルが必要になります。
DataReport クラスとは
DataReport クラスは、AS-DataReport の帳票出力エンジンを、Visual C# や VB.NET のプログラムから呼び出し可能なライブラリです。
プログラムにライブラリの登録と呼び出し、帳票出力などのわずかなコードを記述するだけで、CSV ファイル、帳票テンプレートファイル、帳票設定ファイルを指定した AS-DataReport の帳票出力機能を業務アプリケーションに組み込むが可能です。
動作環境
開発環境
- Visual Studio 2019/2022/2026
運用環境
- 対象フレームワーク:.NET Framework 4.6.2/4.7/4.7.1/4.7.2/4.8/4.8.1、.NET 6/8/10
- 対応ブラウザ:Microsoft Edge、Google Chrome
アプリケーションへの組み込み例
ここでは、Visual Studio の ASP.NET MVC アプリケーションの新規プロジェクトに DataReport クラスの機能を追加するための手順を説明します。
新規コントローラーの追加
(1) [ファイル] - [新規作成] - [プロジェクト] から ASP.NET MVC アプリケーションを新規作成します。


(2) [表示] メニューの [ソリューションエクスプローラー] をクリックしてソリューションエクスプローラーを表示します。

(3) [ソリューションエクスプローラー] - [Controllers] を右クリックし、[追加] から [コントローラー] を選択します。

(4) [MVC5 コントローラー - 空] を選択し、<追加> ボタンをクリックします。

ここではコントローラー名を "ReportController" とします。

新規ビューの追加
(1) [ソリューションエクスプローラー] - [Views] - [Report] を右クリックし、[追加] から [ビュー] を選択します。
(2) ビュー名に任意の名称を設定し、<追加> ボタンをクリックします。ここではビュー名を "Preview" とします。


コンポーネントの追加
(1) [ソリューションエクスプローラー] のプロジェクトを右クリックし、[NuGetパッケージの管理] をクリックして[NuGet パッケージマネージャー] の画面を開きます。

(2) 右上の歯車アイコンをクリックして設定を開き、AS-DataReport の NuGet パッケージが格納されているフォルダを有効な NuGet ソースとして追加します。


※ 依存関係のパッケージをインストールするため、オフライン環境ではプロジェクトに対して製品をインストールできません。
また、nuget.org(https://api.nuget.org/v3/index.json) も有効な NuGet ソースとして登録されている必要があります。
(3) パッケージソースに先ほどのフォルダを選択し、AdvanceSoftware.ASDataReport.Core のパッケージをインストールします。

(4) ReportController.cs のコードを開き、ビューに対するメソッドを作成します。ここでは、メソッド名 "Preview" を作成します。

(5) ReportController.cs で帳票出力を行うためのメソッドを追加し、DataReport クラスの処理を記述します。ここでは、メソッド名 "RequestReport" を作成します。

コード(ReportController.cs)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace DataReportMvcSample.Controllers
{
public class ReportController : Controller
{
// ビューに対応するメソッドを表示
public ActionResult Preview()
{
return View();
}
// 帳票作成とプレビュー表示
[HttpGet]
public ActionResult RequestReport()
{
// (1) DataReport クラスのオブジェクトを宣言
AdvanceSoftware.ASDataReport.Core.DataReport dataReport = new AdvanceSoftware.ASDataReport.Core.DataReport();
// (2) Run メソッドで帳票作成、戻り値で帳票ドキュメントを取得。
AdvanceSoftware.ASDataReport.Core.SvgDocument[] documents = dataReport.Run(
csvFile: Server.MapPath("~/App_Data") + "/" + "1-単票/1-単票.csv",
templateFile: Server.MapPath("~/App_Data") + "/" + "1-単票/1-単票.xlsx");
// (3) 取得された帳票ドキュメントのバイナリデータを送信
return File(documents[0].DocumentBinary, "image/svg+xml", "report.svgz");
}
}
}
ビューアの追加
(1) AS-DataReport のインストールフォルダ内の [Bin] - [Library] - [Scripts] フォルダより下記のファイルをコピーしてプロジェクトの [Scripts] フォルダに格納します。
- asreport.viewer.*.*.*.js("*"にはバージョンが入ります)
- gunzip.min.js
- jquery-3.7.1.min.js
(2) [ソリューションエクスプローラー] の [Scripts] を展開し、追加した JavaScript のファイルにカーソルをあわせて右クリックし、[プロジェクトに含める] をクリックします。
(3) Preview.cshtml のコードを開き、ASP.NET MVC 用のビューアのインクルードを追加します。

(4) 引き続き、ビューア表示用の HTML コードとスクリプトを追加します。

(5) アプリケーションを実行して、ボタンクリックでプレビューを表示します。(http://xxxx/Report/Preview)

ローコード帳票出力のクラスと機能
DataReport クラス
| 名称 | DataReport |
| 説明 | DataReport クラスのコンストラクタ |
| パラメーター | なし |
| 名称 | Run |
| 説明 | 帳票を出力します。 |
| パラメーター | [csvFile(string)]:CSV ファイルのパスを指定します。※帳票設定ファイル指定時は省略できます。 [templateFile(strng)]:テンプレートファイルパスを指定します。※帳票設定ファイル指定時は省略できます。 [settingFile(string)]:帳票設定ファイルパスを指定します。 [savePdfFile(string)]:出力 PDF ファイルを指定します。※省略時はファイルが作成されません。 [saveExcelFile(string)]:出力 Excel ファイルを指定します。※省略時はファイルが作成されません。 [sheetName(string)]:テンプレートファイル内で使用するシートを指定します。※帳票設定ファイル指定時は省略できます。 [lisenceFile(string)]:AS-Report 12 のライセンスファイルを指定します。※体験版から製品版への動作の切り替え |
| 戻り値 | 帳票ドキュメントを保持する SvgDocument オブジェクトのコレクション |
SVGDocument クラス
| 名称 | Document |
| 説明 | 帳票ドキュメントを Base64 エンコード文字列で取得します。 ASP.NET WebForms アプリケーションで使用します。 |
| データ型 | String {get;} |
| プロパティ値 | 帳票ドキュメントの Base64 エンコード文字列 |
| 名称 | DocumentBinary |
| 説明 | 帳票ドキュメントのバイナリデータを取得します。 ASP.NET MVC アプリケーションで使用します。 |
| データ型 | byte[] {get;} |
| プロパティ値 | 帳票ドキュメント |