/// <summary>/// 导出Excel文件,并自定义文件名/// </summary>/// <param name="dtData">数据源</param>/// <param name="FileName">导出文件名称</param>/// <param name="numberformat">需要处理科学计数法的列的下标</param>public static void DataTable3Excel(DataTable dtData, String FileName,string numberformat){GridView dgExport = null;HttpContext curContext = HttpContext.Current;StringWriter strWriter = null;HtmlTextWriter htmlWriter = null;if (dtData != null){curContext.Response.Clear();HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8);curContext.Response.AddHeader("content-disposition", "attachment;filename=\"" + System.Web.HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8) + ".xls\"");curContext.Response.ContentType = "application/vnd.ms-excel";curContext.Response.Charset = "utf-8";curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");strWriter = new StringWriter();htmlWriter = new HtmlTextWriter(strWriter);dgExport = new GridView();dgExport.DataSource = dtData.DefaultView;dgExport.AllowPaging = false;dgExport.DataBind();//判断是否存在需要处理科学计数法的列,存在则进行相对应的列的处理,处理为“以文本形式存储的数字”if(numberformat!=""){string[] arraystr = numberformat.Split(',');foreach (GridViewRow dg in dgExport.Rows){for (int i = 0; i < arraystr.Length; i++){dg.Cells[Convert.ToInt32(arraystr[i])].Attributes.Add("style", "vnd.ms-excel.numberformat: @;");}}}dgExport.RenderControl(htmlWriter);curContext.Response.Write("<meta http-equiv=\"content-type\" content=\"application/vnd.ms-excel; charset=utf-8\"/>" + strWriter.ToString());curContext.Response.End();}}

转载于:https://www.cnblogs.com/jianghaidong/p/9071628.html

导出excel 并且处理长数字,处理科学计数法,以文本形式存储的数字相关推荐

  1. php导出数字成科学计数法,php导出excel长数字显示成科学计数法格式的解决方案...

    php导出excel长数字显示成科学计数法格式的解决方案 首先,我们了解一下excel从web页面上导出的原理.当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所 ...

  2. PHPExcel导入Excel时长数字变成科学计数法调整

    PHPExcel导入Excel时长数字变成科学计数法调整 1.使用PHPExcel导入Excel表格时,长数字会变成科学计数法,表格中的数值类型为数字类型 比如450107630382345 导入打印 ...

  3. 解决navicat 导出excel数字为科学计数法问题

    解决navicat 导出excel数字为科学计数法问题 参考文章: (1)解决navicat 导出excel数字为科学计数法问题 (2)https://www.cnblogs.com/gz9218/p ...

  4. Excel里数字太长显示为科学计数法如何显示完整数字

    Excel里数字太长显示为科学计数法如何显示完整数字 注意:以下测试都是在macos的Microsoft Excel for Mac的16.53版本中实际测试的,在windows中应该也是一样的. 一 ...

  5. excel怎么让数字不用科学计数法

    excel怎么让数字不用科学计数法 方法1:通过设置单元格格式来取消科学计数法.: 方法2:在输入数字前输入一个英文状态下的单引号 Excel默认对超过11位字符长度的数值以科学计数法表示,且超过15 ...

  6. csv 中 数值被自动转换成科学计数法 的问题 excel打开后数字用科学计数法显示且低位变0的解决方法

    csv 中 数值被自动转换成科学计数法 的问题 excel打开后数字用科学计数法显示且低位变0的解决方法 参考文章: (1)csv 中 数值被自动转换成科学计数法 的问题 excel打开后数字用科学计 ...

  7. Excel分列时拒绝让超过15位的数字变成科学计数法

    Excel分列时拒绝让超过15位的数字变成科学计数法 大家有没有遇到这种情况: 对一些含有15位数字以上的内容的单元格进行分列时,分列后会形成科学计数法的错误格式. 如下图所示,选中A1单元格,点击数 ...

  8. excel表格导出之后身份证号列变成了科学计数法

    excel表格导出之后身份证号列变成了科学计数法 解决:写sql查询出所有数据,并在身份证列添加字符,然后导出,将要复制的excel表格设置单元格格式问文本类型,然后复制粘贴,再把加入的字符删除,搞定 ...

  9. php 大数运算类,PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法

    本文实例讲述了PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法.分享给大家供大家参考,具体如下: PHP计算大数值运算时会出错,当数字太大时,数值会变成科学计数.那怎么来进行PHP超大数值 ...

最新文章

  1. Linux串口原理与编程
  2. html5添加随机率,HTML5 canvas  绘制随机曲线 并实现放大功能
  3. Kafka 教程(二) 集群搭建和容错性测试
  4. SAP的成本中心与利润中心的关系
  5. slot多作用域 vue_vue 深度长文之slot 篇
  6. pythoninterp error_Python numpy.interp方法代码示例
  7. linux测试tensorflow-gpu 2.0是否安装成功
  8. CS229——NODE1part1
  9. Oracle 10g 中 X$KCVFH 说明
  10. SHELL中,如何分割字符串
  11. SQL Server 备份和还原
  12. Linux中fork函数详解(附图解与代码实现)
  13. 出口商贸易融资工具:出口保理
  14. 印度影星沙鲁克-罕简介
  15. [转载]OFDM基本原理及系统框图
  16. 计算机rank函数排名怎么用,用好RANK函数 跨表排名不用愁
  17. 我们是怎么简单打开百度的?
  18. 百度地图api周边搜索功能,用单选按钮切换搜索类型
  19. linux屏幕怎么暗一点,Ubuntu 12.10 调节屏幕亮度经验分享
  20. EntityFramework笔记

热门文章

  1. 信息数据管理思维导图(Xmind)
  2. 反思:让游戏远离自己的学习生活
  3. 【牛腩新闻】——首页图片加载不出来
  4. 第十三届蓝桥杯C++B组国赛D题——最大数字(AC)
  5. jupyter lab版本更新问题
  6. anker2017拆_Anker的Eufy Genie与Amazon Echo Dot:值得吗?
  7. isis和ospf比较
  8. 电脑怎么录屏,什么录屏软件最好
  9. 短线王的盯盘宝怎么样_股票盯盘系统app怎么样
  10. 龙迅LT86102SXE 是 Lontium 的第 4 代 2 端口 HDMI/DVI 分配器