GridView导出Excel

摘要:
如果不处理,导出的Excel文件将被视为5.11922E+17和809111212,这与我们想要实现的实际效果不一致。所以我们需要处理它,即指定单元格数据的格式。
首先要重载VerifyRenderingInServerForm方法,否则会报“GridView要在有run=server的From体内”的错。

public override void VerifyRenderingInServerForm(Control control)
        {
            // Confirms that an HtmlForm control is rendered for
        }
 
 

protected void btnExport_Click(object sender, EventArgs e)
        {
           string vOutputName = lblTitle2.Text.Trim();//Excel名称

            gvNoPriseMember.AllowPaging = false;
            gvNoPriseMember.AllowSorting = false;

            gvNoPriseMember.DataSource = dataView;
            gvNoPriseMember.DataBind();

            if (dataView.Table.Rows.Count > 0)
            {
                gvNoPriseMember.Attributes.Add("style", "vnd.ms-excel.numberformat:@");//格式化Excel(设置格式为文本)
               
                foreach (GridViewRow row in gvNoPriseMember.Rows)
                {
                    row.Cells[4].Attributes.Add("style", "vnd.ms-excel.numberformat:yyyy-MM-dd HH:mm:ss");                   
                }
                ExportExcel.ExportExcelNew(vOutputName, gvNoPriseMember, Page);
            }
            else
            {
                PublicClass.Alert(GetGlobalResourceObject("PublicGlobal", "_NoData").ToString(), this);
                return;
            }
}


在导出的时候,如果某个字段为长数字(如身份证号码511922198507151512)、以0开头的编号(如0809111212)之类的数 据。如果不加处理在导出的Excel文件中将会被分别当作5.11922E+17和809111212来处理,这样与我们要达到 的实际效果不一致。所以我们要加以处理,即给单元格数据规定格式。常见的格式如下:

1) 文本:vnd.ms-excel.numberformat:@
2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd
3) 数字:vnd.ms-excel.numberformat:#,##0.00
4) 货币:vnd.ms-excel.numberformat:¥#,##0.00
5) 百分比:vnd.ms-excel.numberformat: #0.00%

免责声明:文章转载自《GridView导出Excel》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇jmeter之线程组循环次数如何修改Windows上某块网卡的MTU的值下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python读写excel练习_去除excel中乱码行,并添加列

需求: 把app_student.xls里面的数据, 1、如果这一行数据里面有乱码(及包含?),那么就删掉 2、再加上一列,是否毕业 3、如果班级是天蝎座的话,毕业这一列写成毕业 4、其他班级的写成未毕业 原始数据: 实现: import xlrd,xlwt EXCEL_NAME = 'app_student.xls' def delete_messy_...

C# 连接sql数据库对 access,excel导入导出操作 一、SQL SERVER 和ACCESS的数据导入导出

C# 连接sql数据库对 access,excel导入导出操作一、SQL SERVER 和ACCESS的数据导入导出常规的数据导入导出:使用DTS向导迁移你的Access数据到SQL Server,你可以使用这些步骤:○1在SQL SERVER企业管理器中的Tools(工具)菜单上,选择Data Transformation○2Services(数据转换服...

C# 标签打印示例 1

初次写博客,有哪些不足的地方,还请多多指点,给予建议,谢谢! 如若想要源码,请留言。 本实例是在Webservice 中通过excel做模板来打印标签。具体需求是:一个订单一页纸打印4行分录,如果超过4行,则再次按照原格式换纸打印,如果行数未满4行,则补空行。一、实现步骤: 1、首先在EXCEL 画好模版 (后缀名是 .xlt )2、在程序中调用EX...

ASP.NET用XML的方式导出到excel多sheet的实现方式

private void ToExcel(String FileName) { //要转换的XML文件 DataSet dsBook = new DataSet(); dsBook = new Select().Select_(); int rows = dsBook.Tables[...

导出 Excel 模板自动生成规则,避免用户反复修改

一句话总结 Excel 导出、导入时,根据注解自动添加单元格验证规则,避免用户因填写错误的枚举字段而反复修改 Excel 需求背景 对于 Java Web 项目,总是不可避免的出现 Excel 导入、导出的需求,而 Excel 导入导出时,枚举字段和枚举值的映射是非常常见的一种情况 例如:下面这张示例中的性别列 数据库表结构: Excel 中用户需要输入...

批量横向打印Excel

使用VBA脚本写的,具体使用如下:在批量需要打印的Excel文档下面,新建一个文档,将代码粘贴VBA工程里,然后运行即可。 具体代码如下: Attribute VB_Name = "模块1" SubPiLiangPring() Attribute PiLiangPring.VB_ProcData.VB_Invoke_Func = "14" Dim curP...