国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

GridView導出Excel的實現案例

2024-07-10 12:54:02
字體:
來源:轉載
供稿:網友

GridView如何導出Excel?很多朋友們都被這個問題所難倒過,其實GridView導出Excel的方法很簡單,那么我們現在就去看看小編介紹的關于GridView導出Excel的實現案例。

為了完成領導交代的任務,這幾天都在做數據展現,因為時間比較緊,所以也沒做太復雜,使用GridView來展示數據庫表。幾乎沒對GridView的格式做什么設定,從配置文件中加載SQL,跑出數據就直接綁定到GridView。發現了一些問題,比如GridView的自動綁定列的寬度是沒法設定的,而此時GridView的表格輸出是不帶寬度信息的,所以導致表格列比較多的時候顯示起來會擠到頁面里面很難看,由于表的列數并不是固定的,所以也沒法很簡單的用模版列的方式做,最后只好直接將表格寬度設置成一個很大的數了事。

此外做了個導出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的重載函數是必須的,否則會報“GridView要在有run=server的From體內”的錯。
此外,變量style的作用是控制GridView列的樣式,避免發生excel表中字符前導0被當成數字給截掉這樣的問題, 通過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");
}
}

上文就是GridView導出Excel的實現案例,大家在看完后是不是都學會了呢?如果你還想了解更多的相關內容就請關注我們吧。?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 剑阁县| 津南区| 土默特左旗| 黔东| 阿拉善右旗| 仪征市| 包头市| 石泉县| 胶州市| 逊克县| 咸宁市| 武宣县| 西吉县| 报价| 贵南县| 兴城市| 安国市| 体育| 德江县| 抚松县| 六盘水市| 石泉县| 安龙县| 镇平县| 内乡县| 探索| 农安县| 淮阳县| 凤凰县| 苍梧县| 日照市| 萨嘎县| 四子王旗| 穆棱市| 萍乡市| 乌兰浩特市| 连山| 长葛市| 肃宁县| 纳雍县| 麦盖提县|