我收到的Excel文件非常“不规则”......前几行只是描述和随机信息。
我想开始从第17行开始读取文件,并且只能看到可见的行。
第17行是列的标题(就像普通表一样)。
这样的事情是否可能?
答案 0 :(得分:1)
在Excel连接中,您可以设置openRowset
,从Excel中选择单元格中的单元格,
示例:openRowset: Sheet1$A17:f30
答案 1 :(得分:0)
选中此link将脚本计数器添加到您的包中,然后您可以为MyCounter > 17
执行条件拆分任务,如果您在导入后直接执行此任务,则应包含正确的行。
我不确定你的可见行是什么意思。如果您获得完全为空的行,则可以始终将其添加到条件中。
答案 2 :(得分:0)
可以像sql语句一样查询excel文件。在您的数据流任务中,取excel源将conncetion manager设置为excel,然后将数据访问模式设置为sql命令。在excel上写下查询。
实施例
将您的工作表名称视为Sheet1,具有列ID,名称,部门,您的数据从17开始写这样的查询
SELECT [ID],[Name],[Dept]来自[Sheet1 $ A17:C65536]其中[ID]不为空。
此查询选择从第17行到excel结尾的数据,直到数据存在。
如果您的标题行是A17,请不要忘记在连接管理器中检查“第一行是否有列名”。
答案 3 :(得分:0)
我为文件名创建了两个变量,为工作表名称创建了另一个变量,并将“对于每个循环”容器中的值存储到其中。
我做了一个Excel Connection Manager,然后从我在变量中创建的变量中获取工作表名称:
现在,我已将数据访问模式选择为“来自变量的SQL命令”。然后从下拉列表中选择变量名称。 我必须从我在Variable中创建的query_2中读取数据,并且其中我已经将工作表名称用作变量“ SELECT * FROM“ +” [“ + REPLACE(@ [User :: FileName],”。XLSX“,” $ A35:R]“)`选择工作表中可用的数据范围。
答案 4 :(得分:-1)
点击here以获得有关示例的明确说明