`

asp.net gridview 导出时设置文本类型

    博客分类:
  • C#
阅读更多

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中

    在Web开发中,尤其是在使用ASP.NET进行开发时,经常会有将数据显示在GridView中,并允许用户将这些数据导出为Excel文件的需求。这种功能对于数据分析、报表制作等场景非常有用。通过简单的编程技巧,我们可以在ASP...

    asp.net GridView导出excel.rar

    本压缩包文件“asp.net GridView导出excel.rar”很可能包含了一个示例项目,教你如何实现这个功能。 首先,导出GridView到Excel的过程通常涉及到以下几个步骤: 1. **创建GridView**:在ASP.NET页面上添加GridView...

    asp.net Gridview Export PDF,Word,Excel,Csv等等(GridView导出为Excel,word,pdf,csv)源代码

    本主题主要围绕如何实现ASP.NET GridView控件的数据导出功能进行深入探讨。 首先,我们要理解导出的核心概念。导出是将网页上的数据显示在另一种文件格式中,这通常涉及数据的转换和格式化。对于Excel,我们可以...

    ASP.NET中把Gridview导出为EXCEL

    总结起来,ASP.NET中将Gridview导出为Excel涉及HTML控件交互、HTTP响应处理、文件流操作和编码设置等多个环节。解决中文乱码问题主要是通过设定正确的字符编码和HTTP响应头。理解这些知识点,将有助于你在实际项目中...

    ASP.NET页面数据导出excel

    这种方法利用了ASP.NET的Response对象,将DataGrid或GridView等控件的数据直接输出为HTML格式,然后设置Content-Type为"application/vnd.ms-excel",模拟Excel文件。当用户点击按钮时,浏览器会将其作为Excel文件...

    asp.net GridView导出到Excel代码

    实现GridView导出到Excel的具体步骤如下: 1. 创建StringBuilder对象和StringWriter对象:这两个对象用于构建和存储GridView渲染后的HTML字符串。 2. 创建HtmlTextWriter实例:它需要一个StringWriter对象作为参数...

    ASP.NET导出报表

    以下是从给定的代码片段中提炼出来的关键知识点,主要涉及如何在ASP.NET中实现Gridview数据导出到Excel的功能。 ### ASP.NET导出报表 #### Gridview数据导出Excel 1. **响应设置**:在导出过程中,首先需要设置...

    导出excel汉字乱码以及GridView分页问题

    在导出前,将`AllowPaging`属性设置为`false`,这会临时禁用GridView的分页功能,使得所有数据在导出时都被包含。完成导出后,再将`AllowPaging`恢复为`true`,以便在网页展示时保持分页功能。 为了更完整地理解这...

    asp.net数据导出到Excel

    下面将详细介绍两种在ASP.NET中实现数据导出到Excel的方法:无格式的导出和直接从GridView导出。 1. 无格式的导出: 这种方法简单实用,但不包含任何格式设置,仅将数据以纯文本的形式写入Excel文件。以下是一个...

    gridview导出excel表格

    ### GridView导出为Excel表格知识点解析 #### 一、引言 在Web应用程序开发中,经常需要处理数据展示和导出的需求。其中,GridView作为ASP.NET中一个非常强大的控件,能够方便地显示数据源中的数据,并支持多种交互...

    防止GridView导出到excel中自动转成科学计数法

    本文将详细介绍如何在.NET框架下通过编程手段避免GridView导出到Excel时数值字段被自动转换为科学计数法的问题。 ### 问题描述 当使用ASP.NET GridView控件导出数据到Excel文件时,如果某一列包含较大的数值(通常...

    asp.net导出数据到Excel的几种方法 学习心得

    在ASP.NET中,导出数据到Excel是一种常见的需求,用于数据导出、分析或报告。以下将详细讨论几种常见的导出方法,特别是基于控件的HTML渲染方式。 首先,我们来了解一下最常用的方法,即利用控件的`RenderControl`...

    ASP.NET导出EXCEL类

    在ASP.NET中,导出Excel功能常被用于将网页上的数据,如GridView控件中的数据,导出为Excel文件,方便用户进行数据分析和存储。GridView是ASP.NET提供的一种用于显示数据集的控件,它可以轻松地从数据库中获取数据并...

    Asp.net下Gridview的72种用法

    在ASP.NET web应用开发中,GridView控件是一个非常重要的组件,它用于显示数据源中的数据,如数据库表、XML文件或任何可以绑定的数据集。在本文档“Asp.net下Gridview的72种用法”中,我们将深入探讨如何充分利用这...

    VS-C#将GridView导出为xls文件.rar

    在ASP.NET开发中,将GridView数据导出为Excel(xls)文件是一项常见的需求,这有助于用户方便地存储和处理大量数据。"VS-C#将GridView导出为xls文件.rar"这个压缩包提供了一种实现这一功能的方法。下面,我们将详细...

    ASP.net中Gridview实例大全

    ASP.NET中的GridView控件是Web开发中用于展示数据的常用组件,它允许开发者在网页上以表格形式展示数据源中的信息。GridView控件提供了丰富的功能,包括但不限于表头表尾的自定义、数据的导入导出、多层嵌套、分页...

    将GridView显示的内容导出为Excel

    首先,确保在你的ASP.NET页面中有一个名为`GridView_CheckStat`的GridView控件,它已经绑定了要导出的数据。用户在查看这些数据后,可以通过点击一个按钮来触发导出操作。 在代码-behind文件中,你需要添加一个事件...

Global site tag (gtag.js) - Google Analytics