ASP.NET MVC ではサーバー側コントロールの使用は禁止されていることは承知していますが、以前のアプリケーション用に会社がすでに作成した Crystal Reports が多数あり、それを新しい ASP.NET MVC アプリケーションに利用したいと考えています。
ASP.NET MVC で Crystal Reports を使用する適切な方法はありますか? ある場合、どのようにすればよいですか?
ベストアンサー1
実はとても簡単です。MVC プロジェクトに次の参照を追加するだけです。
- CrystalDecisions.CrystalReports.エンジン
- CrystalDecisions.ReportSource
- CrystalDecisions.共有
以下のようなアクションメソッドを使用します。
C#:
using CrystalDecisions.CrystalReports.Engine; public ActionResult Report() { ReportClass rptH = new ReportClass(); rptH.FileName = Server.MapPath("[reportName].rpt"); rptH.Load(); rptH.SetDataSource([datatable]); Stream stream = rptH.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); return File(stream, "application/pdf"); }
VB.NET :
Imports CrystalDecisions.CrystalReports.Engine Public Function Report() As ActionResult Dim rptH As New ReportClass() rptH.FileName = Server.MapPath("[reportName].rpt") rptH.Load() rptH.SetDataSource([datatable]) Dim stream As IO.Stream = rptH.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat) Return File(stream, "application/pdf") End Function