ExcelCreator12では、動作保証を行っている環境 にクラウドのMicrosoft Azure App Service が含まれています。
本記事ではWebアプリ(ASP.NET Core Web MVC)をMicrosoft Azure App Service (Windows)にデプロイするまでの流れを解説します。
※Microsoft Azure App ServiceでExcelCreatorを使用する際、ホスティングプランの価格レベルが"Basic"以上に設定されていないと正しく動作しない場合がございますので、ご注意ください。
環境
実行環境
開発環境
- Windows 11
- .NET 6
- Visual Studio 2022
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.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のインスタンスを新規で作成するため、[新規作成]をクリックします。
[名前]、[サブスクリプション]、[リソース グループ]、[ホスティング プラン]に任意の値を設定し、[作成]をクリックします。
※ホスティングプランの価格レベルが"Free"や"Shared"に設定されているとMicrosoft Azure側の一部機能が制限され正しく動作しない場合がございますので、"Basic"以上のプランにてご利用ください。
[完了]をクリックします。
発行プロファイルが正常に作成されたことを確認し、[閉じる]をクリックします。
[発行]をクリックし、Microsoft Azure App Service (Windows)にデプロイします。
これでMicrosoft Azure App Service (Windows)にデプロイが完了しました。
[サイトを開く]をクリックします。
以下のような画面が表示された後、[Excel ファイル作成]をクリックし、Excelファイルがダウンロードできれば正常に動作しています。
ダウンロードしたExcelファイルでSheet1のA1セルにプログラムから設定した値が反映されていることが確認できます。
さいごに
ExcelCreator12をWebアプリに組み込んでMicrosoft Azure App Service (Windows)にデプロイするまでを解説してきました。
今回は以上です。ありがとうございました。
ExcelCreator12製品ページはこちら
ExcelCreator12体験版はこちら