刚刚开始做Excel相关的项目,所以遇到的问题不管大小都给记录一下

偶然的机会在添加数据的时候全改成了数字,结果输出的时候全自动变成了科学计数法,这是excel的强大功能,能自动识别数字和字符串,太聪明了反而有些麻烦,就像如果输入身份证(18位数字)的话那就不行了。超过了11位呢,下面查了些资料总结一下解决方案:

方法1:  在往excel中添加数据的时候在数据的前面加 单引号,我的是这个方法解决的

如:Sheet.Cells[iRow, iCol] ="'"+ ds.Tables[0].Rows[iRow - 3][itm.ID].ToString();

方法2:在样式中添加样式::<td style=”vnd.ms-excel.numberformat:@”>

如:foreach (DataRow row in tb.Rows){data += "<tr>";foreach (DataColumn column in tb.Columns){if (column.ColumnName.Equals("证件编号") || column.ColumnName.Equals("报名编号"))data += "<td style=\"vnd.ms-excel.numberformat:@\">" + row[column].ToString() + "</td>";elsedata += "<td>" + row[column].ToString() + "</td>";}

方法3:

ADO.NET读Excel时,会根据该列的前n行数据(n个数来自注册表HKEY_LOCAL_MACHINE/Software/Microsoft/Jet/4.0/Engines/Excel/TypeGuessRows),根据这几行数据的内容来判断该列的类型,这个类型跟Excel中该列的类型无关(文本类型应该是数据前面有一个')。如果这n行中的数据有文本有数字,也就是混合类型,则根据HKEY_LOCAL_MACHINE/Software/Microsoft/Jet/4.0/Engines/Excel/ImportMixedType来取值。如果ImportMixedType值为Text,则该列为文本;如果值为Majority Type,则取数据多的类型。

为了能把有文本有数字的列正确读出,我们需要把注册表中ImportMixedType项设置为text,TypeGuessRows设置为0(表示要读取所有数据再来判断是否是混合类型)

另外需注意,IMEX的取值会影响是否使用注册表中ImportMixedType和MAXSCANROWS这两项,如果IMEX=1,则使用,如果为0或者2,则不使用。而IMEX=1是打开的只读连接,所以要正确读取,只能使用只读的方式。

Asp.net导出Excel/Csv文本格式数据相关推荐

  1. 【译】Asp.Net 导出 Excel 数据的9种方案

    简介 Excel 的强大之处在于它不仅仅只能打开Excel格式的文档,它还能打开CSV格式.Tab格式.website table 等多钟格式的文档.它具备自动识别行号,字符,格式化数字等功能,例如: ...

  2. 关于ASP.NET导出Excel表格的个人总结归纳

    2019独角兽企业重金招聘Python工程师标准>>> 之前一直想研究ASP.NET导出Excel表格来着,但一直没有时间,这几天因为一个项目的需要,所以就钻研了一下.有百度,但网上 ...

  3. asp.net导出excel示例代码

    asp.net导出excel示例代码 asp.net导出excel的简单方法. excel的操作,最常用的就是导出和导入. 本例使用NPOI实现. 代码:/// <summary>     ...

  4. php csv转excel 双引号,PHP高效导出Excel(CSV)

    CSV,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件. 如果你导出的Excel没有什么高级用法的话,只是做导出数据用那么建议使用本方法,要比PHPexcel ...

  5. ASP.NET 动态输出Javascript 文本格式换行问题 [ASP.NET | C# | Response]

    一.普通输出问题分析.测试 1.     我们先来看一段代码:     /// <summary>     /// 连接接数据库     /// </summary>      ...

  6. csv和excel php 解析_PHP 高效导入导出Excel(csv)方法之fgetcsv()和fputcsv()函数

    CSV,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件. 一.CSV数据导入函数fgetcsv() fgetcsv() 函数从文件指针中读入一行并解析 CSV ...

  7. ASP.Net导出EXCEL表(小结)

    这个问题困扰了我好几天,现在终于解决了,现公布整个过程的注意点.通过.net导出Excel表,除了注意导出的方法外,还要关心资源的回收问题,中间涉及到COM组件的关闭等. 因为对windows系统.. ...

  8. 报表导出HTML格式怎么转换为EXCEL,使用html导出excel时的格式问题

    用写html的方法导出excel时,excel会自动把一些格式转换一下,有时达不预期的效果,此时可以通过样式进行调整下数据格式就可以了. 常用的几种: mso-number-format:\@ 文本 ...

  9. excel中文本格式如何批量转化成数字

    从excel表格中复制粘贴到另一个表格中导致粘贴后数据为文本格式,如何进行批量转化成数据格式呢? 首先选择你要转化格式的列 在菜单栏中选择分列 在弹出的对话框中,选择分割符合,点击下一步 继续点击下一 ...

  10. Asp.net导出Excel

    上篇博客,讲述初步导出Excel出现的问题.现在具体写一下导出Excel步骤.    对于大批量的数据,导出Excel的办法如下.      (1)使用DataTable导出Excel      其中 ...

最新文章

  1. 数据库历险记(二) | Redis 和 Mecached 到底哪个好?
  2. 2.7 RMSprop-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  3. Asp.net Core 使用MyCat分布式数据库,实现读写分离
  4. struct/class的数据对齐---简单解析
  5. delphi android动态权限,DELPHI安卓动态权限申请
  6. Windows开发的内功和招式
  7. Struts2 - Action 基础用法
  8. 转载自《读者》--您也吻我一下好吗
  9. 格式化字符串漏洞利用 四、利用的变体
  10. 【激活函数】Mish激活函数详解
  11. MySql触发器以及实例
  12. 原神的天空岛服务器位置,原神天空岛服和世界树服数据互通吗
  13. 斯坦福stanford coreNLP 宾州树库汉语短语类别表23个
  14. separated by semicolons
  15. 我这些年我用过的12 个企业级开源系统,亲测非常好用,非常适合公司开发
  16. centos7子系统 win10_Windows10内置Linux子系统初体验
  17. H5 移动端富文本编辑器
  18. 一篇就够!数据增强方法综述
  19. Centos6.9 下的 CM(Cloudera Manager)CDH 大数据环境部署
  20. html引用阿里云矢量图标(不照搬官方,手把手教学)

热门文章

  1. 引用服务器js文件写法,Vue 公共js文件如何放在服务器上引用
  2. form表单上传文件
  3. 处理器管理与进程调度
  4. 开源工具软件XMusicDownloader——音乐下载神器
  5. Python+Selenium自动化学习笔记
  6. 怎么把pdf文件转换成word文件
  7. 用Java操作Office 2007
  8. 元注解@interface的理解使用
  9. MySQL 使用utf8mb4代替utf8
  10. mysql数据库修改结构_Mysql 数据库之修改标的结构