6

レポート機能を .NET アプリケーションに追加したいと考えています。私のデータ ソースは、アプリケーションの単なるデータ モデルです。つまり、何かから生成またはロードされたオブジェクトの集まりです (必ずしもデータベースからではありません)。

当初の計画では、これらのオブジェクトからレポート データ XML ファイルを生成し、XSLT を使用してこれを XHTML レポート ファイルに変換することでした。レポートは、ブラウザ コントロールを使用してアプリケーションに表示できます。

ただし、Microsoft.Reporting.* 名前空間が存在することに気付きました。私が試したことから、そこにあるクラスとコントロールもレポートを処理できるようです。代わりにこれを使用することをお勧めしますか? XML/XSLT アプローチと比較して作業を節約できますか? Microsoft レポート フレームワークのどのような制限 (ある場合) に遭遇する可能性がありますか?

4

4 に答える 4

7

考慮すべき点がいくつかあります。

1) Reporting Services は Sql Server の一部であるため、そのルートに進むと、追加のライセンスの問題が発生する可能性があります。

2) Reporting Services は、Web ページを提供したり、完全なページング、並べ替え、サブ レポート、合計などを使用して WinForms で使用したりできます。これは XSL では非常に困難です。また、プリンターとの相性も抜群です。

3) レポート サービスには、レポートを作成するための WYSIWYG エディターが付属しています。決して完璧ではありませんが、手作りよりはずっと簡単です。

4) XSL を使用して XHTML を作成すると、実際にパフォーマンスが低下する可能性があります。XSL は XML Dom 全体で機能し、複数ページのレポートを扱っている場合は大きなドキュメントになる可能性があります。Reporting Services がより高速に動作することを期待しています。

5) Reporting Services は .Net 全体を活用できるため、他の多くの機能を無料で利用できます。

レポートの要件が非常に単純でない限り、Reporting Services を使用すると、これらすべてを取り入れて時間を節約できます。しかし、それはあまり楽しいものではありません。

于 2009-01-26T11:30:06.093 に答える
4

次の例外と追加を除いて、MrTelly のコメントのほとんどに同意します。

  • あなたが XSLT に詳しくなく、レポート データが巨大 (100 MB 以上 -- ソース データではなく、レポートにフィードするデータについて話していることを念頭に置いてください) でない限り、パフォーマンスはそれほど重要ではありません。問題。私たちは、.NET データセットを取得してその場でレポートに変換する XML/XSLT レポート システムを構築しました。適切に記述された XSLT を使用すると、パフォーマンスはほとんど 1 秒未満です (大規模なデータセットの場合はそれよりも長くなる可能性がありますが、Web アプリにとっては恐ろしいことではありません)。 .

  • XML/XSLT ソリューションを使用したレポート レイアウトは本質的に無制限です。Reporting Services を使用すると、RDL (Microsoft のレポート定義言語) 内の構造に制限されます。標準のレポート構造よりも複雑なものが必要な場合、Reporting Services はイライラするでしょう。

于 2009-01-28T14:03:09.217 に答える
1

Data Dynamics ReportsおよびActiveReports (およびその他のサード パーティの .NET ツール) は、オブジェクトから直接レポートを作成することもでき、開発者にとって使いやすいライセンス ポリシーを備えています。

于 2009-01-28T05:03:25.920 に答える
0

オブジェクトからxmlを生成し、そのXMLからネイティブReportViewerレポートを作成することもできるようです

ReportViewer を使用した XML ドキュメントからのレポートの作成

http://www.c-sharpcorner.com/UploadFile/mahesh/XmlReports04182007115639AM/XmlReports.aspx

于 2012-10-16T14:12:50.820 に答える