数据库导出csv文件数字会自动变科学计数法的解决方式

将数据导出excel文件变成科学计数法问题:
程序导出csv文件时,当字段中有比较长的数字字段存在时,在用excel软件查看csv文件时就会变成科学技术法的表现形式。
其实这个问题跟用什么语言导出csv文件没有关系。Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法;如果数字大于15位,它不仅用于科学技术法表示,还会只保留高15位,其他位都变0。

解决方式

只要把数字字段后面加上显示上看不见的字符即可,字符串结尾加上制表符”\t”。

最近遇到一个Bug问题,csv 数值转化为文本的问题。

数据如下:

导出csv文件数字会自动变科学计数法的解决方式-1

运行效果 如下:

导出csv文件数字会自动变科学计数法的解决方式-2

大家看到“01720” 前面的0 没有显示出来。怎样才能显示出来了, 这里的csv文件格式也没有什么问题。后来找到解决方法 就是加制表符\t. 可是怎么加了?

在csv文件直接加\t肯定不行的。于是借助C#来做一个测试

导出csv文件数字会自动变科学计数法的解决方式-3

运行效果

导出csv文件数字会自动变科学计数法的解决方式-4

来我们来看看生成的CSV文件内容

导出csv文件数字会自动变科学计数法的解决方式-5

大家看到逗号前面有一点空格, 那个就是 制表符造\t成的. 肉眼很容易看成空格了。

如果你的C#程序不能修改,该CSV的数据来自于存储过程, 那么我们修改存储过程也行。

Instr, Replace, Like 等语句或函数中使用回车换行符号

 

CHAR 可用于将控制字符插入字符串中。下表显示了一些常用的控制字符。

 

控制字符
制表符 CHAR(9)
换行符 CHAR(10)
回车 CHAR(13)

 

code实现 入下:

导出csv文件数字会自动变科学计数法的解决方式-6

导出csv文件数字会自动变科学计数法的解决方式-7

原文链接:,转发请注明来源落伍老站长!

发表评论