将数据导出excel文件变成科学计数法问题:
程序导出csv文件时,当字段中有比较长的数字字段存在时,在用excel软件查看csv文件时就会变成科学技术法的表现形式。
其实这个问题跟用什么语言导出csv文件没有关系。Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法;如果数字大于15位,它不仅用于科学技术法表示,还会只保留高15位,其他位都变0。
解决方式:
只要把数字字段后面加上显示上看不见的字符即可,字符串结尾加上制表符”\t”。
最近遇到一个Bug问题,csv 数值转化为文本的问题。
数据如下:
运行效果 如下:
大家看到“01720” 前面的0 没有显示出来。怎样才能显示出来了, 这里的csv文件格式也没有什么问题。后来找到解决方法 就是加制表符\t. 可是怎么加了?
在csv文件直接加\t肯定不行的。于是借助C#来做一个测试
运行效果
来我们来看看生成的CSV文件内容
大家看到逗号前面有一点空格, 那个就是 制表符造\t成的. 肉眼很容易看成空格了。
如果你的C#程序不能修改,该CSV的数据来自于存储过程, 那么我们修改存储过程也行。
Instr, Replace, Like 等语句或函数中使用回车换行符号
CHAR 可用于将控制字符插入字符串中。下表显示了一些常用的控制字符。
控制字符 | 值 |
---|---|
制表符 | CHAR(9) |
换行符 | CHAR(10) |
回车 | CHAR(13) |
code实现 入下:
转载请注明:落伍老站长 » 数据库导出csv文件数字会自动变科学计数法的解决方式