[ASP.NET MVC]MVC中使用RDLC

回想起使用ASP.net WebForms + RDLC 完成了多少花式報表

以前使用ASP.net WebForms針對使用者報表需求,我第一都選擇使用RDLC來處理,

但後來專案我全部都改用ASP.NET MVC後,報表都是靠自己雙手包裝html組出來,

時間一久也漸漸遺忘RDLC所帶來的便利性,直到昨天有位朋友喚起我的報表魂,

朋友詢問目前ASP.NET webforms專案想轉ASP.NET MVC,但原本的RDLC是否可以無痛套用,

因為RDLC是這個專案最重要的核心,由於ASP.NET MVC都已經出到6了,所以以前RDLC問題早已經都不是問題,

現在我就簡單示範,ASP.NET MVC如何使用RDLC。

1專案Framework要使用.NET4.5以上

2.安裝  ReportViewerForMvc (Install-Package ReportViewerForMvc)

Controller

using Microsoft.Reporting.WebForms;

 public ActionResult Report()
        {
            ReportViewer reportViewer = new ReportViewer();
            reportViewer.ProcessingMode = ProcessingMode.Local;
            reportViewer.LocalReport.ReportPath = Request.MapPath(Request.ApplicationPath) + @"Report1.rdlc";
            LoginAdmin _LoginAdmin = new LoginAdmin();
            var datas = _LoginAdmin.Find<cityname>("select * from cityname", null, null, Library.Infrastructure.ExecuteType.SQL);
            reportViewer.LocalReport.DataSources.Add(new ReportDataSource("Report1", datas));
            ViewBag.ReportViewer = reportViewer;
            return View();
        }

View

@using ReportViewerForMvc;

<h2>Report</h2>

@Html.ReportViewer(ViewBag.ReportViewer as Microsoft.Reporting.WebForms.ReportViewer)
 

執行

Note:記得安裝reportview runtime

參考

ReportViewer for MVC