C#使用DoddleReport快速生成報表_第1頁
C#使用DoddleReport快速生成報表_第2頁
C#使用DoddleReport快速生成報表_第3頁
C#使用DoddleReport快速生成報表_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第C#使用DoddleReport快速生成報表有的時候,我們需要對一堆數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析后生成HTML或Excel格式報表。本來這并不是一件很難的事,但確是件比較麻煩的事情。最令人頭痛的是遇到領(lǐng)導(dǎo)下發(fā)的臨時緊急任務(wù)的時候,往往領(lǐng)導(dǎo)都不知道到底要什么報表,只是給你一堆數(shù)據(jù)先讓你出一個分析報告,當(dāng)你上繳分析報告后,領(lǐng)導(dǎo)會針對分析結(jié)果讓你再出一個分析報告。這時要是有一個快速生成報表的工具就非常方便了。

使用nuget安裝控件

-installpackageDoddleReport

-installpackageDoddleReport.iTextSharp

現(xiàn)在,我們可以通過DoddleReport來快速生成報表。一個簡單的示例如下:

假定我們的數(shù)據(jù)對象為如下格式:

publicclassProduct

publicintId{get;set;}

publicstringName{get;set;}

publicstringDescription{get;set;}

publicdoublePrice{get;set;}

publicintOrderCount{get;set;}

publicDateTimeLastPurchase{get;set;}

publicintUnitsInStock{get;set;}

}

數(shù)據(jù)源通如下函數(shù)生成:

staticIEnumerableProductGetAllData()

varrand=newRandom();

returnEnumerable.Range(1,20).Select(

i=newProduct

Id=i,

Name="Product"+i,

Description="Thisisanexampledescription",

Price=rand.NextDouble()*100,

OrderCount=rand.Next(1000),

LastPurchase=DateTime.Now.AddDays(rand.Next(1000)),

UnitsInStock=rand.Next(0,2000)

}

要對該數(shù)據(jù)源生成報表,則只需要如下幾步:

1.通過ToReportSource擴(kuò)展函數(shù)將數(shù)據(jù)源轉(zhuǎn)換為Report對象

//CreatethereportandturnourqueryintoaReportSource

varreport=newReport(GetAllData().ToList().ToReportSource());

2.添加報表的標(biāo)題和頁眉頁腳的描述

//CustomizetheTextFields

report.TextFields.Title="ProductsReport";

report.TextFields.SubTitle="ThisisasamplereportshowinghowDoddleReportworks";

report.TextFields.Footer="Copyright2011copy;TheDoddleProject";

report.TextFields.Header=string.Format(@"ReportHeaderDemo");

//Renderhintsallowyoutopassadditionalhintstothereportsastheyarebeingrendered

report.RenderHints.BooleanCheckboxes=true;

3.對輸出的字段進(jìn)行格式控制

//Customizethedatafields

report.DataFields["Id"].Hidden=true;

report.DataFields["Price"].DataFormatString="{0:c}";

report.DataFields["LastPurchase"].DataFormatString="{0:d}";

4.輸出為報表

using(varoutputStream=File.Create(@"r:\report.html"))

varwriter=newDoddleReport.Writers.HtmlReportWriter();

writer.WriteReport(report,outputStream);

}

這樣,我們就可以得到如下的報表:

使用起來非常簡單,但基本上該有的都有,還是非常不錯的。其中2,3兩步是可以省略的,最簡單的方式下,只要如下幾行即可:

//CreatethereportandturnourqueryintoaReportSource

varreport=newReport(GetAllData().ToList().ToReportSource());

using(varoutputStream=File.Create(@"r:\report.html"))

varwriter=newDoddleReport.Writers.HtmlReportWriter();

writer.WriteReport(report,outputStream);

}

值得一提的是,DoddleReport支持的輸出給事非常豐富:PDF、EXCEL、HTML、CSV等常用的格式都支持,也能直接在A中輸出成在線報表。例如,我們只要把上面例子中的Writer

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論