a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

利用Aspose.Cells和Excel模板導出統(tǒng)計數(shù)據(jù)

2019-10-29 19:41:05
字體:
供稿:網(wǎng)友

在項目中要進行導出Excel報表給客戶,里面有統(tǒng)計,就心思用Aspose.Cells 配合實體類數(shù)據(jù)直接導出。結(jié)果呢比較麻煩。然后就檢索找到利用Excel模板配合實體類數(shù)據(jù)導出。

總的來說一般的報表生成,基本上是基于以下幾種方式:一種是基于微軟Excel內(nèi)置的引擎來實現(xiàn);一種是構(gòu)造HTML格式的Excle報表;一種是基于控件的方式來處理,基于控件有很多種方式,個人認為比較有名的是Aspose.Cell和NPOI,下面用到的是Aspose.Cell

效果圖:

Aspose.Cells,Excel,統(tǒng)計數(shù)據(jù)

Excel模板及相關(guān)變量

報表1模板如下所示(其中通過引用集合的對象是通過&=來引用,對象的屬性或者列名,通過如&=Export.作業(yè)完成計劃方式引用,非常直觀方便)

Aspose.Cells,Excel,統(tǒng)計數(shù)據(jù)

Aspose.Cells,Excel,統(tǒng)計數(shù)據(jù)

Aspose.Cell控件支持多種參數(shù)變量的綁定操作,如支持DataSet、Datatable、IList集合,實體類集合、類對象等。

Aspose.Cells,Excel,統(tǒng)計數(shù)據(jù)

下面我主要用List 實體類集合

protected void ExportExcel_ServerClick(object sender, EventArgs e) { HttpCookie getCookies = Request.Cookies["UserLogin"]; if (getCookies != null) { string[] strParm = hfExcelData.Value.Split(','); List<jianpinorzhen_view> getJianPinOrZhenData = SearchExportData.LstSearchExportJianPinOrZhen(Server.UrlDecode(getCookies["SqlConString"]), getCookies["CustomCode"],getCookies["CustomType"], strParm[0], strParm[1], strParm[2], strParm[3], strParm[4]); //創(chuàng)建一個workbookdesigner對象 WorkbookDesigner designer = new WorkbookDesigner();  //制定報表模板 switch (strParm[4]) { case "工廠入貨箱單信息":  designer.Open(Server.MapPath(@"model/AllWarehousing.xls")); break; case "上貨開箱信息": designer.Open(Server.MapPath(@"model/Warehousing.xls")); break; case "檢品之后信息": designer.Open(Server.MapPath(@"model/Dress_Jp.xls")); break; case "檢針之后信息": designer.Open(Server.MapPath(@"model/Dress_Jz.xls")); break; default: break; }  //設(shè)置實體類對象<span style="color:#FF0000;">這里設(shè)置了Export 變量,然后在模板里面我們就用了。 designer.SetDataSource("Export", getJianPinOrZhenData); //報表標題頭部 //可以擴展多個designer.SetDataSource("ExportUtils",strParm[4]); //報表截止日期 designer.SetDataSource("ExportDate", DateTime.Now.ToString("yyyy年MM月dd日"));//根據(jù)數(shù)據(jù)源處理生成報表內(nèi)容 designer.Process(); //客戶端保存的文件名//如果保存的文件名是漢字的話一定要編碼,否則就是亂碼 HttpUtility.UrlEncode(strParm[4])string fileName = HttpUtility.UrlEncode(strParm[4]) + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"; designer.Save(fileName, SaveType.OpenInExcel, FileFormatType.Excel2003, Response); Response.Flush(); Response.Close();designer = null;Response.End(); }}

DataTable 讀取數(shù)據(jù)

DataTable dt = ExcuteDataTable(querySql);    dt.TableName = "Export";  if (dt.Rows.Count == 0)  return;  WorkbookDesigner designer = new WorkbookDesigner();string fileName = HttpUtility.UrlEncode(strParm[4]) + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";  designer.Open(fileName<code class="csharp spaces"></code>);//設(shè)置DataTable對象designer.SetDataSource("Export",dt); //設(shè)置DataSet對象designer.SetDataSource(ds.Tables["Export"]);designer.Process();

更多信息訪問官方網(wǎng)站

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到c#教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产美女久久久 | 亚洲精品乱码8久久久久久日本 | 无码一区二区三区视频 | 性人久久久 | 久久综合一区二区 | 久久人人网| 国产suv精品一区 | 91久久精品久久国产性色也91 | 国产精品久久久久久久久久99 | 国产福利一区二区三区在线观看 | 国产亚洲欧美一区二区 | 国产精品久久91 | 一区二区三区四区在线 | 中文字幕日韩一区二区不卡 | 午夜国产一级 | 国产一级视频在线播放 | 久久国产视频一区二区 | 久久午夜影院 | 夜夜操com| 久久精品影视 | 免费aaa视频 | 国产精品日本一区二区不卡视频 | 亚洲成人av一区二区 | 亚洲精品一区二区三区中文字幕 | 国产视频久久久久 | 99国产精品99久久久久久 | 国产一区二区在线电影 | 在线看免费观看日本 | 久久久久久久久久97 | 超碰日韩 | 国产精品美女视频 | 亚洲乱码一区二区 | 久久午夜夜伦鲁鲁一区二区 | 精品欧美日韩 | 午夜精品网站 | 亚洲成人精品区 | 国产精品自产拍在线观看 | 一区二区手机在线 | 精品国产91久久 | 欧美一级日韩片 | 欧美电影一区二区 |