I know the use of server-side controls is a no-no in ASP.NET MVC, however we have a long list of crystal reports that the company has already produced for a previous application that I would like to utilize for our new ASP.NET MVC application.
Is there an appropriate way to use crystal reports in ASP.NET MVC? If so, how?
It is pretty simple actually. just add following references to your MVC project:
use Action method like below:
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