首页 > 代码库 > 解决从Excel导入数据库,导入到DataTable时数据类型发生变化的问题(如数字类型变成科学计数法,百分数变成小数)

解决从Excel导入数据库,导入到DataTable时数据类型发生变化的问题(如数字类型变成科学计数法,百分数变成小数)

做项目的时候,C#读取Excel数据到DataTable或者DataSet,设断点查看DataTable,发现Excel的显示为较长位数数字的字段如0.000012在DataTable中显示为科学计数法1.2E-05,而百分数如143%在DataTable中显示为1.43。可是我想Excel中显示的是什么数据,读取到DataTable或者DataSet后与Excel中完全一致,解决办法如下:

1)打开要导入的EXCEL,把所有数据全选中(Ctrl+A)----复制(Ctrl+C);

2)新建一个记事本文件,打开它,粘贴上去(Ctrl+V);

3)返回打开的EXCEL文档,把里面的的数据全部删除,然后全选中(Ctrl+A)并右键选中’设置单元格格式’----点‘文本’ ----确定退出对话框;

4)然后把打开的记事本内所有数据粘贴到Excel中保存,此时会在数据单元格左上角出现绿色小三角形;

5)完成以上操作后,Excel中的所有数据都以文本格式存储,再进行导入就没有问题了。

 

参考文档:http://blog.csdn.net/hcf_force/article/details/7824058

解决从Excel导入数据库,导入到DataTable时数据类型发生变化的问题(如数字类型变成科学计数法,百分数变成小数)