激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - .net客戶端導出Excel實現代碼及注意事項

.net客戶端導出Excel實現代碼及注意事項

2019-10-24 11:55asp.net技術網 ASP.NET教程

將DataGrid導出為Excel文件及導出dgData中0-3列的數據到excel文件中的優缺點介紹,感興趣的朋友可以了解下,希望本文對你有所幫助

客戶端導出excel 

復制代碼代碼如下:


/* 
* 將DataGrid導出為Excel文件 

* @param strTitle  文件標題 
* @param dgData    待導出的DataGrid 
* @param iStartCol  起始列序號 
* @param iEndCol  結束列序號 

* 創建人:  calvin 
* 創建日期: 2005-10-08 
* 修改人:   
* 修改日期:
**/ 
function DataGrid2Excel(strTitle, dgData, iStartCol, iEndCol) 

   // 定義Excel Applicaiton Object 
   var appExcel = null; 
   // 當前激活的工作簿 
   var currentWork = null; 
   var currentSheet = null; 
    
   try 
   { 
     // 初始化application 
     appExcel = new ActiveXObject("Excel.Application"); 
     appExcel.Visible = true; 
   } 
   catch(e) 
   { 
     window.alert("Please Install Excel First"); 
      
     return; 
   } 
    
   // 獲取當前激活的工作部 
   currentWork = appExcel.Workbooks.Add(); 
   currentSheet = currentWork.ActiveSheet; 
  
   // 填充excel內容 
   // 設置標題 
   currentSheet.Cells(1,1).Value = strTitle; 
   currentSheet.Cells(1,1).Value = dgData.innerText; 
   window.alert(dgData.innerHTML); 
  
   // 填充內容 
   for (var iRow = 0; iRow < dgData.rows.length - 1; iRow++) 
   { 
     // 顯示指定列的內容 
     for (var iCol = iStartCol; iCol <= iEndCol; iCol++) 
     { 
       currentSheet.Cells(iRow + 2, iCol + 1).Value =  
         dgData.rows[iRow].cells[iCol].innerText; 
     } 
   } 


/**************************************************************************/ 
/** 
* 導出dgData中0-3列的數據到excel文件中 
**/ 
function ToExcel() 

   DataGrid2Excel("使用javascript導出excel的例子", document.getElementsById("dgData"), 0, 3); 
} 這種方法的缺點是: 
  (1)了能夠在客戶端調用Excel.Application,需要把IE的安全級別設為“低”。 
  (2)與方法一相同,還是只能導出當前顯示在datagrid里面的數據,無法導出分頁的數據。 
  -------------------------------------------------------------------------------- 
  終極解決方案:將DataTable導出為excel 
  好,讓我們快點結束這篇無聊的post。一般來說,頁面上的datagrid是以查詢得到的一個DataTable為數據源的。那么為了把全部數據導入excel中,我們只要把DataTable數據源輸出為excel就可以了。 

復制代碼代碼如下:


/**//// <summary> 
    /// 把DataTable內容導出偉excel并返回客戶端 
    /// </summary> 
    /// <param name="dgData">待導出的DataTable</param> 
    /// 創 建 人:陳文凱 
    /// 創建日期:2005年10月08日 
    /// 修 改 人: 
    /// 修改日期: 
    public static void DataTable2Excel(System.Data.DataTable dtData) 
    { 
      System.Web.UI.WebControls.DataGrid dgExport = null; 
      // 當前對話 
      System.Web.HttpContext curContext = System.Web.HttpContext.Current; 
      // IO用于導出并返回excel文件 
      System.IO.StringWriter strWriter = null; 
      System.Web.UI.HtmlTextWriter htmlWriter = null; 
      if (dtData != null) 
      { 
        // 設置編碼和附件格式 
        curContext.Response.ContentType = "application/vnd.ms-excel"; 
        curContext.Response.ContentEncoding =System.Text.Encoding.UTF8; 
        curContext.Response.Charset = ""; 
         
        // 導出excel文件 
        strWriter = new System.IO.StringWriter(); 
        htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter); 
        // 為了解決dgData中可能進行了分頁的情況,需要重新定義一個無分頁的DataGrid 
        dgExport = new System.Web.UI.WebControls.DataGrid(); 
        dgExport.DataSource = dtData.DefaultView; 
        dgExport.AllowPaging = false; 
        dgExport.DataBind(); 
        // 返回客戶端 
        dgExport.RenderControl(htmlWriter);   
        curContext.Response.Write(strWriter.ToString()); 
        curContext.Response.End(); 
      } 
    } 


需要注意的是,導出excel之前要把datatable的列名更改為客戶要求的文字,就ok了。因為是從DataTable導出的,所以這種方法解決了分頁數據的問題,堪稱終極解決方案。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久噜噜噜精品国产亚洲综合 | 免费在线观看成人av | 88xx成人精品视频 | av噜噜噜噜 | 网站激情 | 日韩免费黄色 | 成人免费看毛片 | 在线看成人av | 久久国产精品系列 | 精国产品一区二区三区四季综 | 国产精品久久久久久模特 | 国产亚洲网 | 97色在线观看免费视频 | 亚洲乱搞 | 国产精品一区二区三区99 | 一级裸体视频 | 日本aaa一级片 | 91av大片| 老子午夜影院 | 国产超碰人人做人人爱 | asiass极品裸体女pics | av国产在线被下药迷网站 | 2018亚洲男人天堂 | 亚洲白嫩在线观看 | 激情综合在线 | 精品人伦一区二区三区蜜桃网站 | 毛片免费在线 | 久久久久久久久久综合 | 国产精品自拍av | 免费h片 | 婷婷久久综合九色综合色多多蜜臀 | 精品国产看高清国产毛片 | 久久久久久久久久久国产精品 | 国产精品久久久久久久久久久久久久久久 | 久久精品av | 免费观看一级黄色片 | 亚洲九草| 亚洲一区在线观看视频 | 国产午夜免费不卡精品理论片 | 国语自产免费精品视频在 | 亚洲最大的成人网 |