AdvanceSoftware Tech Blog

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

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

ExcelCreator12では、動作保証を行っている環境クラウドMicrosoft Azure App Service が含まれています。

本記事ではWebアプリ(ASP.NET Core Web MVC)をMicrosoft Azure App Service (Windows)にデプロイするまでの流れを解説します。

Microsoft Azure App ServiceでExcelCreatorを使用する際、ホスティングプランの価格レベルが"Basic"以上に設定されていないと正しく動作しない場合がございますので、ご注意ください。

環境

実行環境

開発環境

Webアプリの作成

Excelファイルを生成しダウンロードする簡単なWebアプリを作成していきます。

新規プロジェクト(ASP.NET Core Web MVC)の作成

Visual Studio 2022を起動し、[新しいプロジェクト] > [ASP.NET Core Web アプリ (Model-View-Controller)]を選択後、任意のプロジェクト名を入力して[次へ]をクリックします。

プロジェクトの構成
プロジェクトの構成

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

フレームワークの選択
フレームワークの選択

ExcelCreator12のインストール

ExcelCreator12をインストールします。

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

NuGet パッケージの管理
NuGet パッケージの管理

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

パッケージファイルのインストール
パッケージファイルのインストール

プログラムの実装

[Controllers] > [HomeController.cs]にExcelファイル生成用のCreateExcelFileメソッドを追加します。

コードの実装
コードの実装

// Controllers/HomeController.cs
[HttpPost]
public IActionResult CreateExcelFile()
{
    System.IO.MemoryStream strmExcel = new System.IO.MemoryStream();
    // ExcelCretor で Excel ファイルを新規作成する処理 
    AdvanceSoftware.ExcelCreator.Creator creator1 = new AdvanceSoftware.ExcelCreator.Creator();
    // シート数:1、Excel バージョン:2021 で Excel ファイルを新規作成し、ストリームに出力します。
    creator1.CreateBook(strmExcel, 1, AdvanceSoftware.ExcelCreator.xlsxVersion.ver2021);
    creator1.Cell("A1").Value = "Microsoft Azure 上で ExcelCreator を使用し Excel ファイルを作成";
    creator1.CloseBook(true);
    strmExcel.Close();
    return File(strmExcel.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Book1.xlsx");
}


次に[Views] > [Home] > [Index.cshtml]にExcelファイルのダウンロード用ボタンを追加します。

<!-- Views/Home/Index.cshtml -->
@{
    ViewData["Title"] = "Home Page";
}

@using (Html.BeginForm("CreateExcelFile", "Home"))
{
    <p><input type="submit" formmethod="post" value="Excel ファイル作成" /></p>
}
<div class="text-center">
    <h1 class="display-4">Welcome</h1>
    <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>

Webアプリは以上で完成です。

なお、ここで作成したWebアプリのプロジェクトは以下のURLからダウンロードできます。

https://www.adv.co.jp/download/blog/deploy-excelcreator12-azure/EC12WebSample.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のインスタンスを新規で作成するため、[新規作成]をクリックします。

App Service新規作成
App Service新規作成

[名前]、[サブスクリプション]、[リソース グループ]、[ホスティング プラン]に任意の値を設定し、[作成]をクリックします。

ホスティングプランの価格レベルが"Free"や"Shared"に設定されているとMicrosoft Azure側の一部機能が制限され正しく動作しない場合がございますので、"Basic"以上のプランにてご利用ください。

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

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

公開
公開

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

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

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

デプロイ
デプロイ

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

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

以下のような画面が表示された後、[Excel ファイル作成]をクリックし、Excelファイルがダウンロードできれば正常に動作しています。

デプロイしたWebサイト
デプロイしたWebサイト

ダウンロードしたExcelファイルでSheet1のA1セルにプログラムから設定した値が反映されていることが確認できます。

作成したExcelファイル
作成したExcelファイル

さいごに

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

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