ASP.NET MVCアプリケーションで ActiveReports を使用できますか?

文書番号 : 39822     文書種別 : 使用方法     登録日 : 2016/12/12     最終更新日 : 2017/07/05
文書を印刷する
対象製品
ActiveReports for .NET 9.0J
詳細
ASP.NET MVCアプリケーションで ActiveReports for .NET を使用することは基本的には可能です。

ただし、WebViewerコントロールに関しては ASP.NET MVCアプリケーション上での利用をサポートしておりません。ASP.NET MVCアプリケーションでクライアント側にレポートを表示したい場合、以下の方法をご検討ください。

  1. HTML5ビューワを使用する方法(Professionalのみ)
    JavaScriptコンポーネントとして構成されているHTML5ビューワは、ASP.NET MVCアプリケーション上でも利用可能であり、その動作を保証しております。

    具体的な実装方法については、製品付属の以下のサンプルをご覧ください。

    ActiveReportsユーザーガイド
     - サンプルとチュートリアル
      - サンプル
       - Professionalのサンプル
        - HTML5ビューワ(MVC) サンプル

    なお、ルーティングを設定している場合、以下の例外設定が必要となります。

    ◆サンプルコード(VB.NET)
    routes.IgnoreRoute("{*allActiveReport}", New With {.allActiveReport = ".*\.ar9(/.*)?"})

    ◆サンプルコード(C#)
    routes.IgnoreRoute("{*allActiveReport}", new { allActiveReport = @".*\.ar9(/.*)?" });

  2. 参考情報
    RouteCollectionExtensions.IgnoreRoute メソッド

    http://msdn.microsoft.com/ja-jp/library/dd505203(v=vs.118).aspx



  3. エクスポート機能を使用する方法
    ActiveReports の各種エクスポート機能は、ASP.NET MVCアプリケーション上でも利用可能です。

    たとえば、レポートをPDF形式に変換し、そのPDFデータをバイナリ形式でクライアントに配信することで、クライアント側のブラウザにPDF形式でレポートを表示することが可能です。(ただし、この場合にはクライアント側にAdobe Reader等のPDF表示用のソフトウェアが必要です。)

    一例としては、以下のようにメモリストリームにエクスポートしたPDFをFileContentResultクラスを使用してダウンロードする方法が考えられます。

    ◆サンプルコード(VB.NET)
    Function PDF() As FileContentResult
      ' レポート生成
      Dim rpt As New SectionReport1
      rpt.Run()

      ' PDFエクスポート
      Dim pdfExport As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport()
      Dim ms As New System.IO.MemoryStream()
      pdfExport.Export(rpt.Document, ms)

      ' クライアントにダウンロード
      Return File(ms.ToArray(), "application/pdf")
    End Function

    ◆サンプルコード(C#)
    public FileContentResult PDF()
    {
      // レポート生成
      var rpt = new SectionReport1();
      rpt.Run();

      // PDFエクスポート
      var pdfExport = new GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport();
      var ms = new System.IO.MemoryStream();
      pdfExport.Export(rpt.Document, ms);

      // クライアントにダウンロード
      return File(ms.ToArray(), "application/pdf");
    }

    上記ではセクションレポートの場合のコードを記述しておりますが、ページレポート/RDLレポートでも同様の実装が可能です。PDFエクスポートの方法については、製品ヘルプの以下のトピックをご覧ください。

    ActiveReportsユーザーガイド
     - 概念
      - エクスポート
       - 描画拡張機能
        - PDFへの描画
       - エクスポートフィルタ
        - PDFエクスポート


  4. HTTPハンドラ機能を使用する方法(Professionalのみ)
    ActiveReportsでは、レポートを生成してクライアントへ自動配信する2種類のハンドラクラスを提供しております。これらのハンドラは、ASP.NET MVCアプリケーション上から呼び出したときにも有効となります。

    使用方法については、製品ヘルプの以下のトピックをご覧ください。

    ActiveReportsユーザーガイド
     - 概念
      - HTTPハンドラ

製品ヘルプ
ActiveReports for .NET 9.0J オンラインヘルプ
関連情報
キーワード
HowTo 印刷・プレビュー Web