スポンサーリンク

Blazor Server Excelファイルをダウンロードする

.NET CoreASP.NET CoreBlazor Server 5.0C#Excel

Blazor Server にExcelファイルを配置し、画面から入力された値をExcelファイルに出力し、出力済みのExcelファイルをダウンロードする、サンプルを作りしました。
ソースコードはGitHubで公開しています。

ソースコード構成

Blazor Server テンプレートから、変更を加えたソースファイル。

ソースコード変更内容を解説

/WebApplication1.csproj

・Excelファイルをダウンロードする為の、BlazorDownloadFile nugetパッケージを追加。
・Excelファイルを操作する為の、ClosedXML nugetパッケージを追加。
 .Net Core でExcelファイルを操作する場合、今は ClosedXML が一番使われていると思う。

/_Imports.razor

・追加したnugetパッケージ等のusingを追加。

/Template/TemplateE.xlsx

・画面に入力された値を挿入する、テンプレート用のExcelファイルを追加。
 今回は新規作成した空のExcelファイルになっている。

/Startup.cs

・BlazorDownloadFile Nugetパッケージのサービス起動処理を追加。

/Pages/ExcelFileDownload.razor

・Excelファイルをダウンロードする機能を設けたテスト画面を追加。
・入力値は _TextDate 変数に保持している。
・「Excel file download」ボタンのクリックで、TemplateE.xlsx ファイルを開き、入力値を Sheet1シートのA1セルに書き込んだ後、TemplateE.xlsx ファイルをダウンロードしている。

/Shared/NavMenu.razor

・テスト画面へのリンクを追加している。

Visual Studio プロジェクト

今回使った Visual Studio プロジェクト テンプレートは、Blazor Server 5.0 の認証無し、HTTPS無しです。

コメント

タイトルとURLをコピーしました