国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

數(shù)據(jù)的動態(tài)合并和導(dǎo)出至EXCEL

2019-11-14 14:25:37
字體:
供稿:網(wǎng)友

最近一段時間都在處理數(shù)據(jù)的動態(tài)合并和導(dǎo)出Excel的問題,寫個demo記錄下,希望和我碰到同樣問題的博友可以順利解決;后面會提供demo下載鏈接。

(VS2012,asp.net)

一、主要解決以下問題:

1、根據(jù)業(yè)務(wù)邏輯動態(tài)合并table單元格
2、動態(tài)合并后序號重寫
3、datatable導(dǎo)出excel
4、datatable導(dǎo)出excel特殊字符處理
5、在實際問題中可能還有少許BUG,自行調(diào)試

 

 

二、重要代碼摘錄:

1、前臺獲取table HTML代碼: 

1 <input type="hidden" runat="server" id="lblTableHtml" />
View Code
1 function getDataHtml() {2             var table = document.getElementById("gridTable");3             if (table != null) {4                 var html = table.innerHTML;5                 document.getElementById("lblTableHtml").value = html;6             }7         }
View Code

 2、自定義合并單元格:

 1 // 1、通過關(guān)聯(lián)字段分組 2                 for (int i = gridTable.Rows.Count - 1; i > 0; i--) 3                 { 4                     HtmlTableCell oCell_PRevious = gridTable.Rows[i - 1].Cells[4]; 5                     HtmlTableCell oCell = gridTable.Rows[i].Cells[4]; 6                     if (oCell_previous != null && oCell != null) 7                     { 8                         if (oCell.InnerText == oCell_previous.InnerText) 9                         {10                             for (int j = 4; j <= 7; j++)11                             {12                                 HtmlTableCell oCell_previousI = gridTable.Rows[i - 1].Cells[j];13                                 HtmlTableCell oCellI = gridTable.Rows[i].Cells[j];14                                 if (oCell_previousI != null && oCellI != null)15                                 {16                                     oCell_previousI.RowSpan = (oCell_previousI.RowSpan == -1) ? 1 : oCell_previousI.RowSpan;17                                     oCellI.RowSpan = (oCellI.RowSpan == -1) ? 1 : oCellI.RowSpan;18                                 }19 20                                 oCellI.Visible = false;21                                 oCell_previousI.RowSpan += oCellI.RowSpan;22                             }23                         }24                     }25                 }
View Code

3、導(dǎo)出EXCEL邏輯:

 1 Response.Clear(); 2             Response.ContentType = "application/vnd.ms-excel"; 3             string excelname = sFileName + DateTime.Now.ToString("yyyyMMddHHmmss"); 4             Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(excelname, System.Text.Encoding.UTF8) + ".xls"); 5             this.EnableViewState = false; 6             System.IO.StringWriter oStringWriter = new System.IO.StringWriter(); 7             System.Web.UI.HtmlTextWriter writer = new System.Web.UI.HtmlTextWriter(oStringWriter); 8             System.Text.StringBuilder builder = new System.Text.StringBuilder(); 9             builder.Append("<table border='1'>");10             // 取出已經(jīng)排好版的table11             string sHtml = lblTableHtml.Value;12             builder.Append(sHtml);13             builder.Append("</table>");14             writer.Write(builder.ToString());15             writer.Close();16             Response.Write(oStringWriter.ToString());17             Response.End();
View Code

 

 

三、Demo下載鏈接:

 http://files.VEVb.com/files/zhaosx/ExcelExportDemo.zip


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 吴桥县| 广汉市| 迭部县| 灌云县| 六安市| 麻阳| 克山县| 贵德县| 嘉兴市| 安龙县| 崇礼县| 湘西| 宜良县| 昌都县| 綦江县| 平山县| 阿拉善左旗| 上高县| 伊春市| 读书| 永州市| 青浦区| 巴青县| 承德县| 南城县| 长沙市| 顺平县| 龙泉市| 沂源县| 得荣县| 灌南县| 社会| 大新县| 合山市| 湖北省| 伊金霍洛旗| 营山县| 隆昌县| 延庆县| 达拉特旗| 惠东县|