• 沙里软件

  • ShaliSoft.com [手机站]   办公桌收纳抽屉
  • 首页
  • 博文
  • 演示
  • 管理
  • Excel导入数据的时候数字变科学计数法的解决方法

    网络   2014/6/11 11:24:30

    在EXCEL中,输入超过11位数字时,会自动转为科学计数的方式,比如:123456789012345,输入后就变成了:1.23457E14。

    1. Excle里可以更改此列的格式为文本,或者添加" ' " ,即 '123456789012345 。先输入一个英文单引号“'”,再输入数值。那么Excel就认为是文本了,而不会强制变为科学计数法。

     

    2. 用c#的OLEDB导入Excel到数据库产生科学计数法问题解决 。

     发现Excel的列中只要数字字符较长时oledb读出的记录数据会以科学计数法显示。450107630382345变为4.5010763038+14 。

     主要问题在连接字符串:

    "Provider=Microsoft.ACE.OleDb.12.0;Data Source=" + FileName + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";

     

    OLEDB的Excel的IMEX和HDR是什么意思?

      Extended Properties=""Excel 8.0;HDR=yes;IMEX=1""

      A: HDR ( HeaDer Row )设置

      若指定值为Yes,代表 Excel 档中的工作表第一行是栏位名称

      若指定值為 No,代表 Excel 档中的工作表第一行就是資料了,沒有栏位名称

      B:IMEX ( IMport EXport mode )设置

      IMEX 有三种模式,各自引起的读写行动也不合,容後再述:

      0 is Export mode

      1 is Import mode

      2 is Linked mode (full capabilities)

      我这里希罕要申明的就是 IMEX 参数了,因为不合的模式代表著不合的读写行动:

      当 IMEX=0 时为“汇出模式”,这个模式开启的 Excel 档案只能用来做“写入”用处。

      当 IMEX=1 时为“汇入模式”,这个模式开启的 Excel 档案只能用来做“读取”用处。

      当 IMEX=2 时为“连結模式”,这个模式开启的 Excel 档案可同时增援“读取”与“写入”用处。

    所谓“4.5010763038+14 ”只是显示用的,实际还是“450107630382345”。所以使用读取即 IMEX=1时,得到“4.5010763038+14 ”。

    而 IMEX=0时,得到“450107630382345”。

     

    我们需要把连接字符串改为

    "Provider=Microsoft.ACE.OleDb.12.0;Data Source=" + FileName + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=0'";

    问题就解决了。


    经测试:此0模式会少数据。还是1比较正常,手机号可以设置为常规格式,才正常,如果文本格式会科学计算法,不知道什么原因。

    解决办法:

    用的excel读取驱动是Microsoft.Jet.OLEDB.4.0。查询相关文档发现此驱动似乎在2003年就已经停止更新。立刻上Microsoft网站下载最新驱动Microsoft.ACE.OleDb.12.0 此驱动安装无需重新启动,经过测试问题完美解决。

    新驱动链接串如下"Provider=Microsoft.ACE.OleDb.12.0;Data Source=" + FileName + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";



    阅读(1701) 分享(0)

    上一篇: 微软中国回应WIN8泄密质疑:产品没有后门
    下一篇: Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的区别

  • 精彩推荐

    ◆ Win7的IIS7中ASP获得的系统日期格式为斜杠和去掉星期的解决办法
    ◆ 腾讯OA基础服务使用C# 开发的千万级应用
    ◆ 怎么做秒杀系统?秒杀系统设计
    ◆ 怎么设计比较安全的密码加密方法
    ◆ asp.net 用Stopwatch计算运行时间
    ◆ ASP.NET Eval四种绑定方式
    ◆ 安卓手机QQ新功能WiFi共享泄露用户隐私
    ◆ 我为什么不喜欢面向对象
    ◆ 老照片:马云、马化腾、李彦宏、刘强东、李开复,大佬们的罕见童年照
    ◆ 为什么刷单会被淘宝轻而易举的查到?
  • 用心做事 不能唯利是图

    • 吊儿
    • 用QQ联系我17905772
  • 搜索


  • 最新文章

    • 导出Excel 格式 mso-number-format
    • 服务器iis支持tls1.2,windows server 2008 r2 中IIS启用TLS 1.2(安装SSL后用TLS 1.2)
    • MySQL配置优化
    • EditPlus 添加文件比较工具winmerge
    • 滚动悬浮固定JS特效

  • 热门文章

    • php sso单点登录实现代码
    • 中国菜刀(China chopper) 最新黑客工具
    • redis.conf中文版(基于2.4)
    • 搜索引擎名单大全
    • php图片上传类,支持加水印,生成略缩图

  • 最新图库


  • 最新评论


  • 友情链接

  • 沙里软件

  • 最近访客

    Powered by ShaliSoft.com 豫ICP备13008529号

    免责声明:本站部分内容来源于互联网,转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责,也不构成任何其他建议。如果发现侵犯版权,联系QQ17905772进行删除。

    51La