SSIS:读取Excel文件行

时间:2015-07-16 14:41:13

标签: excel ssis

我从事SSIS项目(Visual Studio 2012) 浏览器向我发送带有文章的excel文件。 信息从A2开始,直到G列。 然后我用 SELECT * FROM [ProduitsFamilles$A2:G] 我的问题是,我在这个文件中看到最后一行是16143(在空单元格下) 当我运行它时,它给出了16382行...然后在数据库中导致200行空压缩导致主键不能为空。 我认为这是因为在发送此文件之前,浏览器删除旧的除非行。

使用“条件分割”给出了很好的响应,但我想知道如果我可以直接打破空行,就像使用where子句...

1 个答案:

答案 0 :(得分:1)

如果选择表而不是sql语句,SSIS将处理excel文件并自动停在空行。我相信你也可以在sql语句的Select子句中选择特定的列,而不是在From子句中定义你的范围。 SSIS通常假定有一个标题行,但您也可以指定它。

还有另一个可能的问题,即单元格在Excel中可以是活动的并且是空的而不是非活动的。要对此进行测试,请按ctrl和工作表中整列顶部的向下箭头。它应该停在最后一个包含数据的单元格中(在你的情况下是第16143行);如果它转到第16382行,你就会知道在导入之前需要处理一堆空但活动的行。

一般来说,使用带有SSIS的.csv文件比使用Excel文件容易得多,后者往往会出现这些类型的格式问题。