解决从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中的所有数据都以文本格式存储,再进行导入就没有问题了。
说明:记事本有清除内容格式的作用,字体格式除外。