国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

.net客戶端導(dǎo)出Excel實(shí)現(xiàn)代碼及注意事項(xiàng)

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:41:39
文檔

.net客戶端導(dǎo)出Excel實(shí)現(xiàn)代碼及注意事項(xiàng)

.net客戶端導(dǎo)出Excel實(shí)現(xiàn)代碼及注意事項(xiàng):客戶端導(dǎo)出excel 代碼如下:/* * 將DataGrid導(dǎo)出為Excel文件 * * @param strTitle 文件標(biāo)題 * @param dgData 待導(dǎo)出的DataGrid * @param iStartCol 起始列序號(hào) * @param iEndCol 結(jié)束列序號(hào) * * 創(chuàng)建人: calvin * 創(chuàng)建日期
推薦度:
導(dǎo)讀.net客戶端導(dǎo)出Excel實(shí)現(xiàn)代碼及注意事項(xiàng):客戶端導(dǎo)出excel 代碼如下:/* * 將DataGrid導(dǎo)出為Excel文件 * * @param strTitle 文件標(biāo)題 * @param dgData 待導(dǎo)出的DataGrid * @param iStartCol 起始列序號(hào) * @param iEndCol 結(jié)束列序號(hào) * * 創(chuàng)建人: calvin * 創(chuàng)建日期

客戶端導(dǎo)出excel
代碼如下:

/*
* 將DataGrid導(dǎo)出為Excel文件
*
* @param strTitle  文件標(biāo)題
* @param dgData    待導(dǎo)出的DataGrid
* @param iStartCol  起始列序號(hào)
* @param iEndCol  結(jié)束列序號(hào)
*
* 創(chuàng)建人:  calvin
* 創(chuàng)建日期: 2005-10-08
* 修改人:  
* 修改日期:
**/
function DataGrid2Excel(strTitle, dgData, iStartCol, iEndCol)
{
   // 定義Excel Applicaiton Object
   var appExcel = null;
   // 當(dāng)前激活的工作簿
   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;
   }
   
   // 獲取當(dāng)前激活的工作部
   currentWork = appExcel.Workbooks.Add();
   currentSheet = currentWork.ActiveSheet;
 
   // 填充excel內(nèi)容
   // 設(shè)置標(biāo)題
   currentSheet.Cells(1,1).Value = strTitle;
   currentSheet.Cells(1,1).Value = dgData.innerText;
   window.alert(dgData.innerHTML);
 
   // 填充內(nèi)容
   for (var iRow = 0; iRow < dgData.rows.length - 1; iRow++)
   {
     // 顯示指定列的內(nèi)容
     for (var iCol = iStartCol; iCol <= iEndCol; iCol++)
     {
       currentSheet.Cells(iRow + 2, iCol + 1).Value = 
         dgData.rows[iRow].cells[iCol].innerText;
     }
   }
}

/**************************************************************************/
/**
* 導(dǎo)出dgData中0-3列的數(shù)據(jù)到excel文件中
**/
function ToExcel()
{
   DataGrid2Excel("使用javascript導(dǎo)出excel的例子", document.getElementsById("dgData"), 0, 3);
} 這種方法的缺點(diǎn)是:
 ?。?)了能夠在客戶端調(diào)用Excel.Application,需要把IE的安全級(jí)別設(shè)為“低”。
 ?。?)與方法一相同,還是只能導(dǎo)出當(dāng)前顯示在datagrid里面的數(shù)據(jù),無(wú)法導(dǎo)出分頁(yè)的數(shù)據(jù)。
  --------------------------------------------------------------------------------
  終極解決方案:將DataTable導(dǎo)出為excel
  好,讓我們快點(diǎn)結(jié)束這篇無(wú)聊的post。一般來(lái)說(shuō),頁(yè)面上的datagrid是以查詢得到的一個(gè)DataTable為數(shù)據(jù)源的。那么為了把全部數(shù)據(jù)導(dǎo)入excel中,我們只要把DataTable數(shù)據(jù)源
輸出為excel就可以了。
代碼如下:

/**//// <summary>
    /// 把DataTable內(nèi)容導(dǎo)出偉excel并返回客戶端
    /// </summary>
    /// <param name="dgData">待導(dǎo)出的DataTable</param>
    /// 創(chuàng) 建 人:陳文凱
    /// 創(chuàng)建日期:2005年10月08日
    /// 修 改 人:
    /// 修改日期:
    public static void DataTable2Excel(System.Data.DataTable dtData)
    {
      System.Web.UI.WebControls.DataGrid dgExport = null;
      // 當(dāng)前對(duì)話
      System.Web.HttpContext curContext = System.Web.HttpContext.Current;
      // IO用于導(dǎo)出并返回excel文件
      System.IO.StringWriter strWriter = null;
      System.Web.UI.HtmlTextWriter htmlWriter = null;
      if (dtData != null)
      {
        // 設(shè)置編碼和附件格式
        curContext.Response.ContentType = "application/vnd.ms-excel";
        curContext.Response.ContentEncoding =System.Text.Encoding.UTF8;
        curContext.Response.Charset = "";
        
        // 導(dǎo)出excel文件
        strWriter = new System.IO.StringWriter();
        htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);
        // 為了解決dgData中可能進(jìn)行了分頁(yè)的情況,需要重新定義一個(gè)無(wú)分頁(yè)的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();
      }
    }

需要注意的是,導(dǎo)出excel之前要把datatable的列名更改為客戶要求的文字,就ok了。因?yàn)槭菑腄ataTable導(dǎo)出的,所以這種方法解決了分頁(yè)數(shù)據(jù)的問(wèn)題,堪稱終極解決方案。

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

.net客戶端導(dǎo)出Excel實(shí)現(xiàn)代碼及注意事項(xiàng)

.net客戶端導(dǎo)出Excel實(shí)現(xiàn)代碼及注意事項(xiàng):客戶端導(dǎo)出excel 代碼如下:/* * 將DataGrid導(dǎo)出為Excel文件 * * @param strTitle 文件標(biāo)題 * @param dgData 待導(dǎo)出的DataGrid * @param iStartCol 起始列序號(hào) * @param iEndCol 結(jié)束列序號(hào) * * 創(chuàng)建人: calvin * 創(chuàng)建日期
推薦度:
  • 熱門(mén)焦點(diǎn)

最新推薦

猜你喜歡

熱門(mén)推薦

專題
Top
主站蜘蛛池模板: 国产精品久久久久久久久99热 | 久久一| 欧美在线国产 | 欧美 亚洲 另类 热图 | 日韩欧美天堂 | 国产精品va在线观看一 | 国产成人精品一区二区视频 | 可播放的免费男男videos不卡 | 日韩欧美专区 | 免费在线观看亚洲 | 欧美日韩亚洲一区二区三区在线观看 | 伊人久久婷婷 | caoprom在线| 亚洲综合欧美在线 | 日本黄一级日本黄二级 | 久久无码精品一区二区三区 | 国产成人精品一区二三区2022 | 日韩视频网址 | 亚洲国产成人久久一区二区三区 | 亚洲精品美女久久777777 | 国产精品视频久久久久久 | 国产欧美日韩在线观看 | 欧美 日韩 国产 在线 | 99久久精品国产一区二区小说 | 青草伊人网 | 日本亚洲国产精品久久 | 亚洲综合另类 | 国产区一区 | 精品一区二区三 | 91亚洲 欧美 国产 制服 动漫 | 中文字幕在线播放第一页 | 欧美精品一区二区三区视频 | 成人国产精品久久久免费 | 国产69精品久久 | 成人a区| 日本激情网址 | 国产欧美一区二区精品久久久 | 精品日韩一区二区三区视频 | 日韩免费视频网站 | 免费在线一级毛片 | 欧美激情一区 |