欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

GridView導(dǎo)出Excel實(shí)現(xiàn)原理與代碼

 更新時(shí)間:2013年01月10日 16:21:58   作者:  
使用GridView來展示數(shù)據(jù)庫表,幾乎沒對GridView的格式做什么設(shè)定,從配置文件中加載SQL,跑出數(shù)據(jù)就直接綁定到GridView,接下來介紹導(dǎo)出Excel的功能感興趣的朋友可以參考下
為了完成領(lǐng)導(dǎo)交代的任務(wù),這幾天都在做數(shù)據(jù)展現(xiàn),因?yàn)闀r(shí)間比較緊,所以也沒做太復(fù)雜,使用GridView來展示數(shù)據(jù)庫表。幾乎沒對GridView的格式做什么設(shè)定,從配置文件中加載SQL,跑出數(shù)據(jù)就直接綁定到GridView。發(fā)現(xiàn)了一些問題,比如GridView的自動(dòng)綁定列的寬度是沒法設(shè)定的,而此時(shí)GridView的表格輸出是不帶寬度信息的,所以導(dǎo)致表格列比較多的時(shí)候顯示起來會擠到頁面里面很難看,由于表的列數(shù)并不是固定的,所以也沒法很簡單的用模版列的方式做,最后只好直接將表格寬度設(shè)置成一個(gè)很大的數(shù)了事。

此外做了個(gè)導(dǎo)出Excel的功能,主要代碼如下

復(fù)制代碼 代碼如下:

private void DumpExcel(GridView gv, string FileName)
{//帶格式導(dǎo)出
string style = @"<style> .text { mso-number-format:\@; } </style>";
Response.ClearContent();
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("content-disposition", "attachment; filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
Response.ContentType = "application/excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gv.RenderControl(htw);
// Style is added dynamically
Response.Write(style);
Response.Write(sw.ToString());
Response.End();
}
public override void VerifyRenderingInServerForm(Control control)
{
}

上面的行17的重載函數(shù)是必須的,否則會報(bào)“GridView要在有run=server的From體內(nèi)”的錯(cuò)。
此外,變量style的作用是控制GridView列的樣式,避免發(fā)生excel表中字符前導(dǎo)0被當(dāng)成數(shù)字給截掉這樣的問題, 通過Response.Write方法將其添加到輸出流中。最后把樣式添加到ID列。這一步需要在RowDataBound事件中完成:
復(fù)制代碼 代碼如下:

1protected void gvUsers_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[1].Attributes.Add("class", "text");
}
}

相關(guān)文章

  • 用ASP.NET做的個(gè)性化的郵件發(fā)送系統(tǒng)

    用ASP.NET做的個(gè)性化的郵件發(fā)送系統(tǒng)

    如果要你用ASP來做一個(gè)郵件發(fā)送系統(tǒng),你一定認(rèn)為這是一個(gè)比較復(fù)雜的工作。其實(shí)也的確是這樣。但當(dāng)他的后繼產(chǎn)品ASP.NET被推出以后,他的強(qiáng)大功能就使的這一切就變的相對簡單了。真的這樣神奇么?我們就通過ASP.NET做一個(gè)郵件發(fā)送系統(tǒng),看看到底有什么奧秘,是不是真的簡單。
    2008-02-02
  • 關(guān)閉子頁面刷新父頁面中部分控件數(shù)據(jù)的方法

    關(guān)閉子頁面刷新父頁面中部分控件數(shù)據(jù)的方法

    關(guān)閉子頁面刷新父頁面中部分控件數(shù)據(jù),具體的實(shí)現(xiàn)代碼如下,感興趣的朋友可以參考下哈
    2013-05-05
  • asp.net 2個(gè)日期之間的整月數(shù)的算法

    asp.net 2個(gè)日期之間的整月數(shù)的算法

    我是說兩個(gè)日期之間間隔整月,比如2008-11-5 和 2009-4-3之間的整月,結(jié)果是12,1,2,3這四個(gè)月
    2009-06-06
  • ASP.NET Core中實(shí)現(xiàn)全局異常攔截的完整步驟

    ASP.NET Core中實(shí)現(xiàn)全局異常攔截的完整步驟

    這篇文章主要給大家介紹了關(guān)于ASP.NET Core中如何實(shí)現(xiàn)全局異常攔截的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Entity Framework使用LINQ操作實(shí)體

    Entity Framework使用LINQ操作實(shí)體

    本文詳細(xì)講解了Entity Framework使用LINQ操作實(shí)體的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 時(shí)間輕松學(xué)會.NET Core操作ElasticSearch7的方法

    時(shí)間輕松學(xué)會.NET Core操作ElasticSearch7的方法

    這篇文章主要介紹了時(shí)間輕松學(xué)會.NET Core操作ElasticSearch7,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • .NET下為百度文本編輯器UEditor增加圖片刪除功能示例

    .NET下為百度文本編輯器UEditor增加圖片刪除功能示例

    今天下載了目前最新版1.2.5為版本看更新記錄,主要是對表格做個(gè)修改,我下載用上,我靠,上傳圖片的刪除功能給取消了,下面與大家分享下增加圖片刪除功能示例
    2013-05-05
  • ASP.NET中GridView的文件輸出流方式

    ASP.NET中GridView的文件輸出流方式

    本文的主要內(nèi)容是講ASP.NET中GridView輸出顯示的文件,這是個(gè)人項(xiàng)目中的一點(diǎn)小經(jīng)驗(yàn),希望能給到有需要幫助的人。
    2016-08-08
  • VisualStudio2019中為.NET Core WinForm App啟用窗體設(shè)計(jì)器

    VisualStudio2019中為.NET Core WinForm App啟用窗體設(shè)計(jì)器

    這篇文章主要介紹了VisualStudio2019中為.NET Core WinForm App啟用窗體設(shè)計(jì)器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • ASP.NET Core使用SkiaSharp實(shí)現(xiàn)驗(yàn)證碼的示例代碼

    ASP.NET Core使用SkiaSharp實(shí)現(xiàn)驗(yàn)證碼的示例代碼

    本篇文章主要介紹了ASP.NET Core使用SkiaSharp實(shí)現(xiàn)驗(yàn)證碼的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12

最新評論