想要使用ssis格式问题将excel文件数据插入表中

Neo*_*Neo 4 sql sql-server excel ssis

我创建了一个SSIS包,我采取了'excel source'采取excel文件,但我的问题是我需要从excel文件中获取B7值并将其插入数据库表请帮忙,因为

B7值由表达式生成:= MAX($ B $ 32:C284)

在此输入图像描述

嗨我想取dateie的'8/26/2011'值,NAV即ie的值'93737452.52'

并且要插入到表中我使用'excel source '采取excel文件建立的连接,现在选择'Data access mode''Excel source editor''SQL command'

现在我需要写什么命令获取'date''NAV'值,因为我已经粘贴了excel文件的图片,请让我知道进一步的步骤.

Pau*_*ock 5

由于您只需要电子表格中的2个非常特定的单元格值,我建议使用脚本组件从这些单元格中获取值,而不是使用Excel源代码.Excel Source实际上是为了获得一致排列的行和列,而不是用于拾取单个单元格.

为此,首先从工具箱的" 数据流转换"部分拖动" 脚本组件 " .出现"选择脚本组件类型"对话框时,请选中第一个选项"源".

在此输入图像描述

接下来,编辑此脚本组件并从最左侧的列中选择" 输入和输出",并添加您需要的2个输出列,并为每个列设置正确的数据类型.

在此输入图像描述

然后单击"脚本"选项,选择您的语言(在本例中我选择了Visual Basic 2008),然后单击" 编辑脚本"按钮.

当IDE出现时,添加一个引用Microsoft.Office.Interop.Excel并在脚本顶部添加一个Imports语句.然后在CreateNewOutputRows例程中,获取对工作簿和工作表的引用,并使用该AddRow()方法输出所需的特定单元格中的值.从下面的代码中可以看出,我直接从单元格b7和c7获取值并将它们转换为正确的类型.

在此输入图像描述

保存脚本并退出IDE,现在可以使用此脚本组件作为数据库插入的源:

在此输入图像描述

该脚本将从您指定的单元格中只读取您想要的2个值,并将它们提供给数据流目标.

虽然这可能看起来比在数据流中删除Excel Source要多得多,但它为您提供了更多的灵活性和控制.