最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#使用RenderControl將GridView控件導(dǎo)出到EXCEL的方法

 更新時(shí)間:2014年08月25日 17:35:05   投稿:shichen2014  
這篇文章主要介紹了C#使用RenderControl將GridView控件導(dǎo)出到EXCEL的方法,是C#應(yīng)用程序設(shè)計(jì)中非常實(shí)用的一個(gè)功能,需要的朋友可以參考下

本文實(shí)例展示了C#使用RenderControl將GridView控件導(dǎo)出到EXCEL的方法,是非常實(shí)用的一個(gè)功能,分享給大家供大家參考。具體如下:

主要功能代碼如下:

// 把GridView輸出到Excel文件 
private void ExportExcel(GridView gridView, string title, string title2, string fileName)
{
  int nHideCols = 0;
  //如果不想輸出出某列,將Visible設(shè)為false即可
  for (int i = 0; i < gridView.Columns.Count; i++)
  {
 if (gridView.Columns[i].HeaderText == "設(shè)備狀態(tài)")
 {
   gridView.Columns[i].Visible = false;
   gridView.Columns[i].ControlStyle.Width = 0;
   nHideCols = 1;
   break;
 }
  }
  //設(shè)定顯示字符集
  Response.Charset = "utf-8";
  //設(shè)定內(nèi)容字符集
  Response.ContentEncoding = Encoding.GetEncoding("utf-8"); 

  //設(shè)定文件名
  Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, Encoding.UTF8).Replace('+', '_').Replace('-', '_'));
  //設(shè)定文件類(lèi)型  也可以是application/ms-word,也可以是text/html(字符集設(shè)為gb2312)
  Response.ContentType = "application/ms-excel";
  this.EnableViewState = false;
  using (StringWriter tw = new StringWriter())
  {
 using (HtmlTextWriter hell = new HtmlTextWriter(tw))
 {
   gridView.AllowPaging = false;
   gridView.RenderControl(hell);
   string s = tw.ToString();
   s = s.Replace("\r\n", "");
   int index = s.IndexOf("<tr");
   //可以自定義Excel文件的標(biāo)題
   string head = "<tr><td colspan=\"" + (gridView.Columns.Count - nHideCols).ToString() + "\" style=\"text-align: center; height: 42px; font-size: 24px; font-weight: bolder; color: #000000;\">" + title + "</td></tr>" +
   "<tr><td colspan=\"" + (gridView.Columns.Count - nHideCols).ToString() + "\" style=\"text-align: center; height: 24px; font-size: 12px; color: #000000;\">" + title2 + "</td></tr>";
   //使用Index來(lái)判斷是否存在數(shù)據(jù),當(dāng)然也可以用gridView.Rows.Count來(lái)判斷
   if (index != -1)
   {
 //有數(shù)據(jù)的
 s = s.Insert(index, head);
   }
   else
   {
 //沒(méi)有數(shù)據(jù)的時(shí)候
 s = "<table cellspacing=\"0\" cellpadding=\"3\" rules=\"rows\" border=\"1\" id=\"" + gridView.ID + "\" style=\"background-color:White;border-color:#E7E7FF;border-width:1px;border-style:None;border-collapse:collapse;\">" +
   head + "</table>";
   }
   Response.Write(s);
   Response.End();
 }
  }
}
//同時(shí)vs2005,vs2003會(huì)報(bào)錯(cuò)“類(lèi)型“ExGridView”的控件“GridViewMaster”必須放在具有 runat=server 的窗體標(biāo)記內(nèi)
//需要添加下面取消對(duì)GridViewMaster 控件驗(yàn)證的方法
public override void VerifyRenderingInServerForm(Control control)
{
  if (!control.GetType().Equals(gridView.GetType()))
  {
 base.VerifyRenderingInServerForm(control);
  }
}

本文實(shí)例代碼備有較為詳盡的注釋?zhuān)瑧?yīng)該不難理解。希望本文實(shí)例對(duì)大家C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 詳解C#把DataTable中數(shù)據(jù)一次插入數(shù)據(jù)庫(kù)的方法

    詳解C#把DataTable中數(shù)據(jù)一次插入數(shù)據(jù)庫(kù)的方法

    本篇文章主要介紹了詳解C#把DataTable中數(shù)據(jù)一次插入數(shù)據(jù)庫(kù)的方法,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-01-01
  • C#并查集(union-find)算法詳解

    C#并查集(union-find)算法詳解

    本文詳細(xì)講解了C#并查集(union-find)算法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • c# 繼承快速入門(mén)

    c# 繼承快速入門(mén)

    這篇文章主要介紹了c# 繼承快速入門(mén)的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • C#排序算法之堆排序

    C#排序算法之堆排序

    這篇文章主要為大家詳細(xì)介紹了C#排序算法之堆排序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • C#標(biāo)識(shí)符的使用小結(jié)

    C#標(biāo)識(shí)符的使用小結(jié)

    C#標(biāo)識(shí)符還是比較常見(jiàn)的東西,這里我們主要介紹C#標(biāo)識(shí)符中的用法,包括介紹 static 的方法和bool 的形參等方面
    2014-01-01
  • 解決Unity項(xiàng)目中UI腳本丟失的問(wèn)題

    解決Unity項(xiàng)目中UI腳本丟失的問(wèn)題

    這篇文章主要介紹了解決Unity項(xiàng)目中UI腳本丟失的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • C#多線(xiàn)程編程中的鎖系統(tǒng)(三)

    C#多線(xiàn)程編程中的鎖系統(tǒng)(三)

    這篇文章主要介紹了C#多線(xiàn)程編程中的鎖系統(tǒng)(三),本本文主要說(shuō)下基于內(nèi)核模式構(gòu)造的線(xiàn)程同步方式、事件、信號(hào)量以及WaitHandle、AutoResetEvent、ManualResetEvent等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • C#如何優(yōu)雅的結(jié)束線(xiàn)程

    C#如何優(yōu)雅的結(jié)束線(xiàn)程

    這篇文章主要介紹了C#如何優(yōu)雅的結(jié)束一個(gè)線(xiàn)程,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • c# record的使用場(chǎng)景

    c# record的使用場(chǎng)景

    這篇文章主要介紹了c# record的使用場(chǎng)景,幫助大家更好的理解和學(xué)習(xí)使用c#的新特性,感興趣的朋友可以了解下
    2021-02-02
  • C#日期格式字符串的相互轉(zhuǎn)換操作實(shí)例分析

    C#日期格式字符串的相互轉(zhuǎn)換操作實(shí)例分析

    這篇文章主要介紹了C#日期格式字符串的相互轉(zhuǎn)換操作,結(jié)合實(shí)例形式分析了C#日期格式字符串的相互轉(zhuǎn)換操作函數(shù)與相關(guān)使用技巧,需要的朋友可以參考下
    2019-08-08

最新評(píng)論

崇左市| 苗栗县| 偏关县| 宜川县| 隆林| 通城县| 凭祥市| 剑阁县| 昭觉县| 莎车县| 汉沽区| 秦安县| 富川| 遵义市| 葵青区| 黄陵县| 常宁市| 四平市| 吴川市| 依兰县| 奇台县| 黄平县| 光山县| 五台县| 华坪县| 巨野县| 宽城| 中山市| 吉木乃县| 咸丰县| 平武县| 板桥市| 安新县| 清水河县| 通榆县| 古丈县| 邛崃市| 阿克苏市| 嘉善县| 卓资县| 张北县|