AdvanceSoftware Tech Blog

アドバンスソフトウェア株式会社の技術ブログ

AS-Report 12をWebアプリに組み込みMicrosoft Azure App Service (Windows)にデプロイする

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"以上に設定されていないと正しく動作しない場合がございますので、ご注意ください。

環境

実行環境

開発環境

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 パッケージの管理
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"以上のプランにてご利用ください。

App Service新規作成 - 項目の設定
App Service新規作成 - 項目の設定

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

公開
公開

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

実行プロファイル作成の進行状況
実行プロファイル作成の進行状況

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

デプロイ
デプロイ

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

サイトを開く
サイトを開く

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

Web サイト
Web サイト

さいごに

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

© 2022 Advance Software Co., Ltd. All Rights Reserved.