ASP.NET MVC使用SSRS報表

Select *
Program
Published in
May 22, 2021

將SQL Server Reporting Services嵌入到ASP.NET MVC專案中。
紀錄ASP.NET MVC使用套件ReportViewerForMvc呼叫SSRS報表的步驟。

以下使用的SSRS報表為這裡所建立。

下載套件ReportViewerForMvc

NuGet搜尋ReportViewerForMvc。
以下三種擇一下載即可。

下載完後,會看到專案新增了一個ReportViewerWebForm.aspx檔案。

建立Webform報表頁面

新增Report資料夾,並在資料夾右鍵加入Web表單,命名為ReportTemplate。

建立Web表單後,Report資料夾新增ReportTemplate.aspx、ReportTemplate.aspx.cs、ReportTemplate.aspx.designer.cs這三個檔案。

調整ScriptManager與ReportViewer

ReportViewerWebForm.aspx:
調整<asp:ScriptManager>與<rsweb:ReportViewer >標籤如下。

ReportViewerWebForm.aspx

ReportTemplate.aspx:
加入<%@Register%>,並調整<asp:ScriptManager>與<rsweb:ReportViewer >標籤如下。

ReportTemplate.aspx

調整ReportTemplate.aspx.cs

設定ReportTemplate內的ReportViewer "rvSiteMapping"的屬性。

ReportTemplate.aspx.cs

ReportViewer的URL與路徑設定,可參考執行SSRS報表時的URL。

建立報表Model

建立一個前端呼叫後段報表時,所要傳入參數的Model。
Models資料夾→右鍵→加入→類別,命名為ReportInfo。

加入報表要傳入的參數。

ReportInfo.cs

建立Controller

開啟HomeController.cs並加入ActionResult ReportTemplate()。

HomeController.cs

建立View

建立ReportTemplate的View。
Views/Home資料夾→右鍵→加入→檢視,命名為ReportTemplate。

@model WebApplication4.Models.ReportInfo引用ReportInfo.cs。

@Model.ReportDescription將參數ReportDescription顯示在頁面抬頭。

<iframe>將ReportTemplate.aspx嵌入至頁面。

ReportTemplate.cshtml

執行畫面

點選上方Report1報表,即可進入頁面看到報表。

查詢結果。

--

--