0

Microsoft.ACE.OLEDB.12.0我创建了一个子程序,它使用数据提供程序将 Excel .xlsx 工作簿中的所有工作表读取到数据集中的单独数据表中。

现在,我有一个包含多张工作表的工作簿 - 所有这些工作表都有相同的列名 - 我想要做的是,一旦它们全部加载到数据集中,将它们全部合并到一个大的 DataTable 中。

我的问题是,即使所有工作表都具有相同的列,根据每个工作表中的数据,有时相同的列会获得Double数据类型,而有时它们会String在 DataSet 的不同表中获得数据类型,所以,Merge函数给我一个错误。

我怎样才能解决这个问题?有没有办法提前将列数据类型设置为字符串,或者有没有办法在合并时忽略列类型,或者有更好的方法来完全解决这个问题?

谢谢。

4

1 回答 1

2

我以前用过这个。我主要是从记忆中去。您可以设置一个名为 TypeGuessRows 的注册表项。这将禁止猜测 Excel 的类型。

此外,尝试在 ACE 连接字符串中添加 IMEX 参数。

另一边注:这可能是一个重复的问题。

编辑:来自谷歌,注册表位置:http: //support.sas.com/kb/31/765.html

另一个非常有用的帖子:Reading Excel InterMixed DataType without Modifying Registry Key

于 2013-01-11T18:49:52.127 回答