ASP.NET MVCアプリケーションで ActiveReports を使用できますか?
対象製品
ActiveReports for .NET 9.0J
詳細
ASP.NET MVCアプリケーションで ActiveReports for .NET を使用することは基本的には可能です。
ただし、WebViewerコントロールに関しては ASP.NET MVCアプリケーション上での利用をサポートしておりません。ASP.NET MVCアプリケーションでクライアント側にレポートを表示したい場合、以下の方法をご検討ください。
ただし、WebViewerコントロールに関しては ASP.NET MVCアプリケーション上での利用をサポートしておりません。ASP.NET MVCアプリケーションでクライアント側にレポートを表示したい場合、以下の方法をご検討ください。
- 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(/.*)?" });
- エクスポート機能を使用する方法
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エクスポート - HTTPハンドラ機能を使用する方法(Professionalのみ)
ActiveReportsでは、レポートを生成してクライアントへ自動配信する2種類のハンドラクラスを提供しております。これらのハンドラは、ASP.NET MVCアプリケーション上から呼び出したときにも有効となります。
使用方法については、製品ヘルプの以下のトピックをご覧ください。
ActiveReportsユーザーガイド
- 概念
- HTTPハンドラ
参考情報
RouteCollectionExtensions.IgnoreRoute メソッド
http://msdn.microsoft.com/ja-jp/library/dd505203(v=vs.118).aspx
製品ヘルプ
ActiveReports for .NET 9.0J オンラインヘルプ関連情報
キーワード
HowTo 印刷・プレビュー Web