小智 5
解决此问题的一种方法是更改select语句,而不是SELECT*执行此操作:
"SELECT Format([F1], 'General Number') From [Sheet1$]"
-or-
"SELECT Format([F1], \"#####\") From [Sheet1$]"
Run Code Online (Sandbox Code Playgroud)
但是,如果您的单元格包含超过255个字符,则会出现以下错误:"多步OLE DB操作生成错误.检查每个OLE DB状态值,如果可用.没有完成任何工作."
幸运的是,我的客户并不关心在这种情况下出错.
这个页面还有很多好东西可以尝试:http: //www.dicks-blog.com/archives/2004/06/03/external-data-mixed-data-types/
OleDb 库常常会弄乱 Excel 电子表格中的数据。这主要是因为它强制所有内容都采用固定类型的列布局,根据每列前 8 个单元格的值猜测每列的类型。如果它猜错了,您最终会得到转换为科学记数法的数字字符串。布莱赫!
为了避免这种情况,您最好跳过 OleDb 并直接自己阅读该表。您可以使用 Excel 的 COM 接口(也很糟糕!)或第三方 .NET Excel 兼容阅读器来完成此操作。 SpreadsheetGear就是这样一个运行良好的库,并且具有与 Excel 的 COM 界面非常相似的界面。
| 归档时间: |
|
| 查看次数: |
12781 次 |
| 最近记录: |