2011-11-16 13 views
1

私のasp.net mvc3(razor)プロジェクトでは、グリッドがtelerik's demoと非常に似ています。そのレポートを印刷して、ページ。データグリッドを印刷用のレポートにエクスポートする方法

そこには100ページ以上のページがあるので、グリッドには存在しないレポートに追加したい詳細がいくつかありますが、もちろんサーバーにはあります。


例:

public class Employee 
{ 
    public int ID {get; set;} 
    public long Phone {get; set;} 
    public double Salary {get; set;} 
    public string Address {get; set;} 
    public string Country {get; set;} 
} 

どのように私はこのようなレポートすることができます:すべてを行う必要があたりに(CSVファイルにデータをエクスポートする場合には
enter image description here

+0

一つのオプションは、印刷用に別のスタイルシートを持っているし、それを追加することができページ。こうすることで、ユーザーは他の操作でレポートを生成する必要はなく、レポートを表示するために見ているページを印刷するだけで済みます。 (実際には他のすべてのオプションをカバーするには十分な情報がありません) – David

+0

スタイルシートを印刷すると、異なるプレゼンテーションが可能になりますが、ここで必要と思われる追加のデータは許可されません。当然のことながら、このデータはビュー内に隠れて表示され、印刷スタイルシートに表示されますが、もちろん帯域幅の無駄になります。 –

+0

@David返事をありがとう。私は従業員のリストを持っているとしましょう、私はそれを使ってレポートを作成する必要があるとしましょう - PDF/EXCEL/WORDは本当に重要ではありません。 – gdoron

答えて

1

を上記の質問にコメントしてください)、here's a quick tutorialをASP.NETでどのように行うことができるか(WebFormsページかMVCアクションか)。

MVCを使用しているので、コントローラロジックからプロセスを抽象化するために、さらにステップを進めてcreating a custom action resultを使用することをお勧めします。

基本的には、(ヘッダー値を設定した後で)HttpResponseにデータ行を手動で書き込むだけです。この場合のCSVは特別なフォーマットがないため、非常に簡単なアプローチになります。カンマで区切られたテキストで、行間に改行が入ります。もちろん

、あなたのデータが含まれている任意のカンマ/改行の/ etc。、作品にスパナを投げるかもしれない...

+0

申し訳ありませんが、私の上司はこのCSVがあまりにも醜いと言いました。そのような単純なことのためのレポートジェネレーターが必要です。 – gdoron

+1

@ gdoron:あなたの上司は、実装後に自分の考えを変えるのではなく、最初に要求事項をよりよく述べておくべきです:)もし彼が完全なレポートを望むなら、おそらくReport Viewerコントロールを使い、レポートrdlcファイル://msdn.microsoft.com/en-us/library/ms251671%28v=VS.100%29.aspx Visual Studio 2008のレポートデザイナーは実際には2010年より優れていると言われていますが、ハンド。私は個人的にはrdlcファイルを扱うのが好きではありませんが、一部の人はそうです。さらに、中央のレポート作成を希望する場合は、将来SSRSサーバーに移動することができます。 – David

関連する問題