gridView 导出时使用以下方法时:
/// <summary>
/// 导出的方法
/// <param name="ctrl">要导出的控件</param>
/// <param name="FileName">导出的文件名</param>
/// </summary>
public static void GridViewToExcel(Control ctrl, String FileName)
{
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter htw = new HtmlTextWriter(sw);
System.Web.UI.Page page = new System.Web.UI.Page();
HtmlForm form = new HtmlForm();
GridView gv = (GridView)ctrl;
gv.EnableViewState = false;
// grdLoginDetails.
// Deshabilitar la validación de eventos, sólo asp.net 2
page.EnableEventValidation = false;
// Realiza las inicializaciones de la instancia de la clase Page que requieran los diseñadores RAD.
page.DesignerInitialize();
page.Controls.Add(form);
form.Controls.Add(gv);
page.RenderControl(htw);
string style = @"<style> .text { mso-number-format:\@; } </script> ";
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + FileName + ".xls");
HttpContext.Current.Response.Charset = "GB2312";
HttpContext.Current.Response.Write("<meta http-equiv=Content-Type content=\"text/html; charset=GB2312\">");
// HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
HttpContext.Current.Response.Write(sb.ToString());
HttpContext.Current.Response.Write(style);
HttpContext.Current.Response.End();
}
会出现00001变为1的情况,有如下修改方法
/// <summary>
/// gridView的绑定事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grdResult_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//比如身份证是第7列,格式化为文本。
e.Row.Cells[4].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
}
}
这种方法时在呈现gridView时,在数字类型的列中添加vnd.ms-excel.numberformat:@,使其成为text类型。
写下来作为记录
分享到:
相关推荐
asp.net 导出GridView里的数据到Excel中
asp.net GridView导出excel.rar
ASP.net GridView双击事件,弹出一个窗口显示详细信息,模式窗口显示详细信息。
asp.net Gridview Export PDF,Word,Excel,Csv等等(GridView导出为Excel,word,pdf,csv)源代码 C#,VB.NET
Gridview中的内容导出到Excel 将gridview的内容导出到excel中去 解决gridview的excel导出问题
ASp.NET GridView 编辑模板ASp.NET GridView 编辑模板
Asp.net GridView标题列可拖动调整宽度效果实现,实现效果类似于Winform中的ListView控件拖动标题,必变列宽,但界面与listview控件不一样,需要自己改变gridivew样式,具体是根据js插件实现;
一个漂亮的GridView CSS 模板样式。 测试过,可用。
ASP.NET GridView表格列宽拖动功能示例,很值得一看!
Asp.net gridview 的样式
ASP.NET中把Gridview导出为EXCEL,解决中文乱码问题,详情请看视频
ASP.NET GridView中两种全选方法.txt
【ASP.NET编程知识】ASP.NET GridView中文本内容无法换行(自动换行正常换行).docx
ASP.NET固定GridView表头_SuperTables
博文《Bootstrap Pagination for ASP.NET GridView》源代码
Formatting ASP.NET GridView using jQuery Highlight row on mouseover in GridView using jQuery Set Alternate color for GridView columns using jQuery Change cursor to hand on mouseover in GridView ...
附详细使用说明,非常简单,解决问题直接了当。
Display image gallery in ASP.NET GridView Control。
博文《ASP.NET: GridView CRUD using Twitter Bootstrap Modal Popup 》中提及的源代码
asp.net GridView自定义控件源码,美化控件。