35

ASP.NET MVC ではサーバー側コントロールの使用が禁止されていることは承知していますが、新しい ASP に使用したい以前のアプリケーション用に会社が既に作成したクリスタル レポートの長いリストがあります。 NET MVC アプリケーション。

ASP.NET MVC で Crystal レポートを使用する適切な方法はありますか? もしそうなら、どのように?

4

3 に答える 3

75

実際には非常に簡単です。MVC プロジェクトに次の参照を追加するだけです。

  • CrystalDecisions.CrystalReports.Engine
  • CrystalDecisions.ReportSource
  • CrystalDecisions.Shared

以下のような Action メソッドを使用します。

  • 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
    
于 2010-04-30T20:45:42.777 に答える
15

職場で同様の状況がありました/あります。

使用するソリューション:

  • レポート用に別のディレクトリを作成する
  • レポート用の通常の ASPX ページを作成する

このセットアップでは、(通常の Crystal の問題以外に) 問題は発生していません。

于 2008-12-08T06:28:05.413 に答える