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

GridView導出Excel實現(xiàn)原理與代碼

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

此外做了個導出Excel的功能,主要代碼如下

復制代碼 代碼如下:

private void DumpExcel(GridView gv, string FileName)
{//帶格式導出
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ù)是必須的,否則會報“GridView要在有run=server的From體內”的錯。
此外,變量style的作用是控制GridView列的樣式,避免發(fā)生excel表中字符前導0被當成數(shù)字給截掉這樣的問題, 通過Response.Write方法將其添加到輸出流中。最后把樣式添加到ID列。這一步需要在RowDataBound事件中完成:
復制代碼 代碼如下:

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

相關文章

最新評論

晋江市| 寿宁县| 定州市| 万源市| 云浮市| 山东省| 元江| 龙岩市| 鹤山市| 葫芦岛市| 吴桥县| 宜州市| 丰原市| 固安县| 喀喇| 翁源县| 深水埗区| 浙江省| 澄城县| 忻州市| 河曲县| 特克斯县| 电白县| 德化县| 天台县| 新干县| 临沭县| 阳朔县| 永泰县| 石林| 江达县| 永胜县| 浦城县| 汉沽区| 彭阳县| 揭阳市| 崇义县| 台南市| 滁州市| 富平县| 珲春市|