SSIS 加载 Excel 文件

Posted

技术标签:

【中文标题】SSIS 加载 Excel 文件【英文标题】:SSIS loading Excel file 【发布时间】:2018-01-19 22:23:21 【问题描述】:

这是我第一次使用 SSIS,我收到了这个错误。

使用: VS 2015,Excel 2010

来自 HRESULT 的异常:0xC02020E8 数据流任务 [Excel 源 [1]] 出错:SSIS 错误代码 DTS_E_OLEDBERROR。 发生 OLE DB 错误。错误代码:0x80004005。

数据流任务 [Excel 源 [1]] 出错:打开“'R0270 Cases$'”的行集失败。检查对象是否存在于数据库中。

excel文件的前7行是标题信息。第 8 行有列标签,数据从 9 开始。

Excel 源代码编辑器:

数据访问模式:表格或视图

Excel 工作表下拉菜单,前 30 秒出错,然后填充工作表名称。

任何线索发生了什么以及如何跳过前 7 行。我有 100 多个 excel 文件,同样的事情发生在 8 个不同的文件上。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

错误可能的解决方案

    您必须将IMEX=1; 添加到您的 excel 连接字符串中,以帮助 excel 正确识别数据类型 将OLE DB Source 适配器的DelayValidation 属性设置为True。 尝试从工作表和 Excel 文件名中删除空格

从第 8 行读取

假设您有 4 列

    在DataFlow Task中,双击excel source 将source设置为SQL Command 使用以下命令:SELECT * FROM [R0270 Cases$A8:D],因此它将从第 8 行开始读取 D 表示 excel 中的第 4 列)

参考文献

load multiple data from excel to sql SSIS Importing excel files having variable headers

【讨论】:

有效!谢谢

以上是关于SSIS 加载 Excel 文件的主要内容,如果未能解决你的问题,请参考以下文章

SSIS - 加载多个 Excel 文件:第一个文件搞砸了,其余的都是正确的

如何遍历 Excel 文件并使用 SSIS 包将它们加载到数据库中?

使用 SSIS 将动态 Excel 表格加载到 SQL 中

无法使用 SSIS 快速加载选项从 Excel 源加载 Netezza 中的数据

将数据从平面文件加载到 Sql Server 表,并使用 SSIS 导出到 excel

SSIS Excel连接“无法加载任何表或视图”