下載本文檔
版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 植物檢疫工崗前操作知識考核試卷含答案
- 腈綸回收操作工班組管理強(qiáng)化考核試卷含答案
- 2025年全國應(yīng)急救援知識競賽題及答案
- 混凝土工安全生產(chǎn)基礎(chǔ)知識水平考核試卷含答案
- 鐵渣處理工崗前崗位水平考核試卷含答案
- 2025-2030新能源汽車?yán)鋮s系統(tǒng)技術(shù)行業(yè)深度研究及市場前景發(fā)展趨勢報告
- 2025-2030新能源客車行業(yè)補(bǔ)貼政策與單車盈利分析研究報告
- 模壓成型工測試驗(yàn)證模擬考核試卷含答案
- 2025-2030新材料行業(yè)納米技術(shù)應(yīng)用分析市場潛力評估投資規(guī)劃發(fā)展趨勢建議報告
- 制線工班組評比考核試卷含答案
- 供應(yīng)鏈管理工作計(jì)劃與目標(biāo)
- 口腔門診醫(yī)療質(zhì)控培訓(xùn)
- (正式版)JBT 9229-2024 剪叉式升降工作平臺
- HGT4134-2022 工業(yè)聚乙二醇PEG
- GB/T 15231-2023玻璃纖維增強(qiáng)水泥性能試驗(yàn)方法
- 小學(xué)教職工代表大會提案表
- ESC2023年心臟起搏器和心臟再同步治療指南解讀
- 《泰坦尼克號》拉片分析
- 超額利潤激勵
- GB/T 2624.1-2006用安裝在圓形截面管道中的差壓裝置測量滿管流體流量第1部分:一般原理和要求
- 基層版胸痛中心建設(shè)標(biāo)準(zhǔn)課件
評論
0/150
提交評論