0

我有一个 Excel 源和一个 OLE 数据库目标。对于列映射,我需要首先对列执行一些数据操作。

如何从要映射到目标列之一的源列中获取子字符串?

如何在我的一列上使用查找表来获取与查找表关联的值,然后将该值映射到我的目标列之一?

我想尽可能多地使用 C# 脚本。

谢谢!!

4

1 回答 1

1

您可以使用派生列转换来获取源列的子字符串。

表达

 SUBSTRING(COLUMN_NAME,START,END)

在派生列选项卡中选择添加为新行。然后在目标中映射此新列。对于查找转换,请参阅我对 SO 问题之一的回复 查找转换

为了在 C# 中执行此操作,将脚本组件拖到设计器上。选择输入和输出,然后添加一个新列(示例 NewColumn 作为名称)

   public class ScriptMain:UserComponent
  {


  public override CreateNewOutputRows()
  {
    int space = Row.SourceColumnName.IndexOf(' ');
  Row.NewColumn= Row.SourceColumnName.Substring(0,space)

  //If you need to retrieve the characters after second dot then
  //int firstDot=Row.Column.IndexOf('.')
  //int secondDot=Row.Column.IndexOf('.',firstDot+1)
 // Row.Newcolumn=Row.SourceColumnName.Substring(secondDot,Row.SorceColumnName.Length)
  }
  }
于 2012-06-08T15:15:43.790 回答