1

ユーザーがログインしてレポートを表示できるasp.net(Webフォーム)でシステムを開発しています。以前はレポートから RDL を使用していましたが、次のように、レポートがより動的な場合は別のテクノロジを使用したいと考えています。

http://ap.demo.qlikview.com/QvAJAXZfc/opendoc.htm?document=qvdocs/Plant%20Operations.qvw&host=Demo11&anonymous=true

しかし、無料の技術が必要で、これは asp.net のプロジェクトで動作する必要があります。私は何を使うことができますか?

4

3 に答える 3

1

Crystal Reports や SQL Reports などのレポート システムをいじってみたところ、習得に時間がかかるだけでなく、厳格で柔軟性がなく、恐ろしい HTML が生成されることがわかりました。

ASP.NET MVC は優れたレポート システムとして使用できます。その方法は次のとおりです。

  1. オプションで a を使用して、MVCファイルをデータベースVirtualPathProviderに保存できるようにします。.aspx
  2. EFコンテキスト/リポジトリオブジェクトまたは生のデータベース接続のみを作成し、それをオブジェクトとしてビューに渡すアクション「GenerateReport」を持つコントローラークラスを用意します。他のモデルはありません。
  3. MVC の「ビューにデータ アクセス ロジックがない」という規則を破ってください。ビュー (.aspxファイル内)には<% %>、クエリなどを実行してすべてのレポート生成ロジックを実行する領域が必要です。
  4. グラフやチャートなどについては、RESTful チャート生成ライブラリを使用してください。独自のものを作成することもできます。これは基本的に、レポートが静的な画像ファイルを生成してどこかに保存し、パスを<img src="">要素に入れる代わりに、次のことを行うことを意味します<img src="RestfulImage.ashx?line1={1.2,4.6,8...." />。Google には実際に使用できるサービスがあります: https://developers.google.com/chart/image/docs/make_charts

したがって、各レポートは.aspx、データ アクセス オブジェクトが与えられたファイルであり、直接クエリを実行してレポート自体を生成します。明らかに、これは作成に時間がかかるレポートではうまく機能しません (ただし、これは通常、不適切な DB 設計またはインデックスの欠如の兆候です) SELECT<table>一緒に行く)このアプローチはうまく機能します。

于 2013-03-07T02:03:14.007 に答える
0

レポートには SAP CRYSTAL REPORTS を使用できます。

于 2013-03-07T01:42:27.277 に答える