我有一个C#/ .Net作业,从Excel导入数据然后处理它.我们的客户端删除文件并处理它们(很重要,因为我对原始文件没有任何控制权).
我使用OleDb库来填充数据集(我讨厌编写那些代码.严重的是,.Net开发人员所写的代码是不是更多?).该文件包含一些数字,如30829300,30071500等......这些列的数据类型是"文本".
导入数据时,这些数字将转换为科学记数法.反正有没有阻止这种情况发生?
-克里斯
解决此问题的一种方法是更改select语句,而不是SELECT*执行此操作:
"SELECT Format([F1], 'General Number') From [Sheet1$]" -or- "SELECT Format([F1], \"#####\") From [Sheet1$]"
但是,如果您的单元格包含超过255个字符,则会出现以下错误:"多步OLE DB操作生成错误.检查每个OLE DB状态值,如果可用.没有完成任何工作."
幸运的是,我的客户并不关心在这种情况下出错.
这个页面还有很多好东西可以尝试:http: //www.dicks-blog.com/archives/2004/06/03/external-data-mixed-data-types/