将Excel文件读入SQL Server而不使用OLEDB / ODBC

时间:2015-07-31 11:34:46

标签: sql-server excel

有没有办法本地读取Excel 2010/2013文件?

我们正在将Excel文件导入SQL Server并遇到一个特定的问题,看起来Excel驱动程序决定目标数据列的类型取决于仅测试前65K个奇数行的内容。

这只是在过去3周才刚刚开始发生,在此之前我们已经设法通过一个简单的注册表黑客来说服Excel的错误,迫使它读取整行行。

问题是我们有一些数据集包含120,000行,这些数据集可能包含前80,000行的所有数值,然后它会包含一些我们希望保留的非数字但至关重要的信息。

是的,我们知道数据输入不正确。

由于Excel驱动程序已将源数据类型确定为浮点数,因此它会立即将所有非数字值转换为NULL - 不是很有用。

如果有其他方法来读取不使用可能有用的标准ODBC / OLEDB驱动程序的Excel文件。

我们尝试在导入之前将其保存为各种其他格式,但当然所有这些导出都使用有问题的Excel驱动程序。

我认为我们最接近的是将其保存为XML(坦率地说是800MB),然后使用标准的xpath查询和一些非常狡猾的解决方法来处理它,以便毫无疑问地处理良好的形式,但仍然是如何变化的列数据表示。

编辑:更改标题以更密切地反映问题

1 个答案:

答案 0 :(得分:0)

除了注册表项,连接到excel文件时还是尝试设置以下内容:

;Extended Properties="IMEX=1"
  1. See here
  2. Also see this MSDN article