我创建了一个sub,它使用 Microsoft.ACE.OLEDB.12.0
数据提供程序将Excel .xlsx工作簿中的所有工作表读入DataSet中的seprate DataTables .
现在,我有一个包含多个工作表的工作簿 - 所有工作簿都具有相同的列名称 - 我想要做的是,一旦将它们全部加载到数据集中,将它们全部合并到一个大型DataTable中 .
我的问题是,即使所有工作表都有相同的列,基于每个工作表中的数据,有时相同的列会获得 Double
数据类型,有时他们会在DataSet的不同表中获得 String
数据类型,因此, Merge
函数给我一个错误 .
我怎样才能解决这个问题?有没有办法提前将Column数据类型设置为all字符串,或者有一种方法可以在合并时忽略列类型,还是有更好的方法来解决这个问题?
谢谢 .
1 Answer
我之前已经使用过这个...我试图主要从记忆中走出来 . 您可以设置一个名为TypeGuessRows的注册表项 . 这将禁用猜测Excel的类型 .
此外,尝试在ACE连接字符串中添加IMEX参数 .
其他注意事项:这可能是一个重复的问题 .
编辑:从Google,注册表位置:http://support.sas.com/kb/31/765.html
另一个有用的帖子:Reading Excel InterMixed DataType Without Modifying Registry Key