SSIS:读取Excel文件太多行

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

使用“条件拆分”给予好回应,但我想知道如果我可以直接打破空行,就像使用where子句…

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

还有另一个可能的问题,那就是单元格可能在Excel中处于活动状态并为空而不是非活动状态。 为了testing这个,按下ctrl和工作表中全列顶部的向下箭头。 它应该停在最后一个单元格中的数据(在你的案例中的第16143行); 如果它反而下降到16382行,你会知道你有一堆空的,但活跃的行,需要在导入之前照顾。

一般来说,使用SSIS的.csv文件比使用Excel文件要容易得多,而Excel文件往往会出现这些types的格式化问题。