SSIS Excel导入SQL – 文件的前6行包含标题相关信息

我正在从excel文件导入数千行(120K)的数据到SQL Server中。 现在我正在尝试使用SSIS来完成这个工作,但是我立即遇到了一些问题,考虑到excel文件所build立的excel模板在第一行中似乎没有包含Header(大约前6行包含标题信息) 。 如何使用BIDS中的SSIS数据stream任务来解决此问题以处理导入? 或者,通过直接读取Excel文档中的每一行来读取这些行会更好吗?

其他信息,我认为这将是有益的

一)我想find一个替代scheme,从Windows客户端应用程序读取每个Excel行,然后逐行写入数据到数据库

b)我的excel文档中有大约4个excel工作表

c)如果有一种方法可以从excel中逐行读取并有效地完成,而不是从Windows客户端使用我不熟悉的SSIS。 我将不胜感激任何build议如何

d)我的excel文件的特定头文件位于第7行,并且我将它最小化为正弦信息只是为了我的后端需要。

您可以将Excel数据源的OpenRowset属性(“属性”窗口,“自定义属性”部分中的OpenRowset)设置为类似于Sheet1$a6:j ,其中a是数据的第一列, j是数据的最后一列,而6通常是行数据之前的标题。 数据应该从下一行开始。 您也可以通过设置类似于Sheet1$a6:j20值来设置最后一行。
请注意,第一个给定的行有时被视为标题行,有时被视为数据的第一行。 以excel为例:
excel数据
当我将OpenRowset设置为Sheet1$a3:j第三行被视为标题行:
数据previev 1
但是当我将OpenRowset设置为Sheet1$a3:j8该行被视为第一个数据行:
数据预览2
奇怪。

尝试这个 ,

而不是使用SSIS,你可以在sql server中使用OPENROWSET函数,下面的查询是一步步执行的,因为我们需要在sql server中设置所有必需的选项是正确的,在使用OPENROWSET函数之前,

 --execute step by step to process excel data into sqlserver using OPENROWSET/OPENDATASOURCE sp_configure sp_configure 'show advanced options',1 reconfigure sp_configure 'Ad Hoc Distributed Queries',1 reconfigure SELECT * INTO XLImport8 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\StatusReport.xls', 'SELECT * FROM [Sheet1$]') select * from XLImport8 

谢谢,

Venkat。