从SSIS中的Excel导入数据,为空值

时间:2009-05-02 19:56:59

标签: excel ssis

我正在使用SSIS将Excel工作表中的数据导入SQL Server 2005,数据包含一些列,其中的数据应该具有同一列中前一个非空单元格的值,它看起来像这样:

2005 | 15 | Something1
     | 12 | Something2
     | 14 | Something3
2006 | 10 | Something4
     |  2 | Something5
     | 18 | Something6
     | 15 | Something7

它应该填写2005年和2006年,但我能得到的只是空值。 我可以将此字段的值放在变量中,如果它不为null,并使用它来替换之后的空值吗?

1 个答案:

答案 0 :(得分:3)

您必须在数据流中使用脚本组件并遍历每一行,使用变量保存最后的已知值。

更新:这是代码。我在SSIS 2008中的VB中做了这个,所以可能需要进行一些编辑(例如,你可能必须使用Dts.Variables [“User :: LastYear”]。Value.ToInt32()而不是Variables.LastYear - 我不记得我的头顶了:

Dim LastYear As Integer

Public Overrides Sub PreExecute()
    MyBase.PreExecute()
    LastYear = 0
End Sub

Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
    If Row.year_IsNull Then
        Row.year = LastYear
    Else
        LastYear = Row.year
    End If
End Sub

希望这有帮助!