AS-Report 12では、サポート対象環境 にクラウドのMicrosoft Azure App Service が含まれています。
本記事ではWebアプリ(ASP.NET Core Web MVC)をMicrosoft Azure App Service (Windows)にデプロイするまでの流れを解説します。
※Microsoft Azure App ServiceでAS-Reportを使用する際、ホスティングプランの価格レベルが"Basic"以上に設定されていないと正しく動作しない場合がございますので、ご注意ください。
環境
実行環境
開発環境
- Windows 11
- .NET 6
- Visual Studio 2022
Webアプリの作成
帳票を作成しプレビューする簡単なWebアプリを作成していきます。
新規プロジェクト(ASP.NET Core Web MVC)の作成
Visual Studio 2022を起動し、[新しいプロジェクト] > [ASP.NET Core Web アプリ (Model-View-Controller)]を選択後、任意のプロジェクト名を入力して[次へ]をクリックします。

[フレームワーク] > [.NET 6.0]を選択して[作成]をクリックします。
(その他の設定はデフォルトとします。)

AS-Report 12のインストール
AS-Report 12をインストールします。
ソリューションエクスプローラーの[依存関係]を右クリックし、[NuGet パッケージの管理]を選択します。

パッケージソースにnuget.orgを指定し、[参照]タブにパッケージ一覧が表示されるため、検索ボックスで"AdvanceSoftware.ASReport.CellReport"を検索します。 パッケージファイルを選択し、[インストール]ボタンをクリックしてパッケージファイルをインストールします。

Web用ビューアの追加
AS-Report 12のインストールフォルダ内、[Bin] - [v12.0.0] - [Scripts]フォルダのファイルをコピーし、プロジェクトの[wwwroot] - [js]フォルダに格納します。

プログラムの実装
[Controllers] > [HomeController.cs]に帳票プレビュー用の処理を実装します。

// Controllers/HomeController.cs using ASR12WebSample.Models; using Microsoft.AspNetCore.Mvc; using System.Diagnostics; namespace ASR12WebSample.Controllers { public class HomeController : Controller { private readonly ILogger<HomeController> _logger; AdvanceSoftware.ASReport.CellReport cellReport1; public HomeController(ILogger<HomeController> logger) { _logger = logger; } public IActionResult Index() { cellReport1 = new AdvanceSoftware.ASReport.CellReport(); // 帳票作成処理 cellReport1.Report.Start(); cellReport1.Report.Create(AdvanceSoftware.ASReport.ExcelVersion.ver2024); cellReport1.Page.Start("Sheet1", "1"); cellReport1.Cell("A1").Value = "アドバンスソフトウェア"; cellReport1.Page.End(); cellReport1.Report.End(); // SVGZ 形式で帳票ドキュメントを取得します。 string reportDocument = cellReport1.Report.GetSvgzReport( AdvanceSoftware.ASReport.SvgSaveType.IncludeExcelPdf); ViewData["document"] = reportDocument; return View(); }
次に[Views] > [Home] > [Index.cshtml]にWeb用ビューアの処理を追加します。
<!-- Views/Home/Index.cshtml --> @{ ViewData["Title"] = "Home Page"; } <script type="text/javascript" src="/js/asreport.viewer.1.0.0.js"></script> <script type="text/javascript" src="/js/gunzip.min.js"></script> <script type="text/javascript" src="/js/jquery-3.7.1.min.js"></script> <!--帳票ドキュメント格納用のDIV要素(id="documentcontainer")を用意。ViewData で帳票ドキュメントを挿入--> <div id="documentcontainer" style="display:none;"> @Html.Raw(ViewData["document"]) </div> <!--ビューア配置用のDIV要素(id="viewercontainer")を用意。width、height でサイズ指定--> <div id="viewercontainer" style="width:100%;height:650px;"> </div> <!--ビューアの表示とプレビュー実行--> <script type="text/javascript"> $(function () { // ビューアを id名[viewercontainer] の DIV 要素に表示 viewer = new CellReport.Viewer('viewercontainer'); // id名[documentcontainer] の DIV 要素に格納された帳票ドキュメントを読み込み、プレビューを実施 viewer.report('documentcontainer'); }); </script>
Webアプリは以上で完成です。
なお、ここで作成したWebアプリのプロジェクトは以下のURLからダウンロードできます。
https://www.adv.co.jp/download/blog/deploy-asreport12-azure/ASR12WebSample.ZIP
デプロイする
Visual StudioからMicrosoft Azure App Service (Windows)にWebアプリをデプロイします。
Microsoft Azure App Service (Windows)にデプロイする
ソリューションエクスプローラーでプロジェクトを右クリックし[発行]をクリックします。

[ターゲット] > [Azure]を選択します。

[特定のターゲット] > [Azure App Service (Windows)]を選択します。

既にAzureにサインインしているか、Visual StudioアカウントがAzureアカウントとリンクされているかによって表示される画面が異なります。
以下のような画面が表示された場合、右上の[サインイン]からAzureアカウントでサインインします。

Azureアカウントでサインイン後、今回はApp Serviceのインスタンスを新規で作成するため、[新規作成]をクリックします。

[名前]、[サブスクリプション]、[リソース グループ]、[ホスティング プラン]に任意の値を設定し、[作成]をクリックします。
※ホスティングプランの価格レベルが"Free"や"Shared"に設定されているとMicrosoft Azure側の一部機能が制限され正しく動作しない場合がございますので、"Basic"以上のプランにてご利用ください。

[完了]をクリックします。

発行プロファイルが正常に作成されたことを確認し、[閉じる]をクリックします。

[発行]をクリックし、Microsoft Azure App Service (Windows)にデプロイします。

これでMicrosoft Azure App Service (Windows)にデプロイが完了しました。
[サイトを開く]をクリックします。

以下のような画面が表示された場合、正常に動作しています。

さいごに
AS-Report 12をWebアプリに組み込んでMicrosoft Azure App Service (Windows)にデプロイするまでを解説してきました。
今回は以上です。ありがとうございました。
AS-Report 12製品ページはこちら
AS-Report 12体験版はこちら