2011-05-06 50 views
2

我有一个Excel表,其中包含具有列标题(名称)的数据。 Excel中的这些列名称在数据库中的一个表中以行的形式存在。我需要做的是根据我的数据库中的表对这些Excel列名进行查找以检索id值。我怎么做?SSIS在Excel中使用列名执行查找

感谢您的帮助。

+1

您是否考虑过使用脚本任务从xls表中拉出标题名称?您可以在脚本任务中使用OLEDB以编程方式将Excel工作表读取到数据表中。这可能是有趣的 - http://vb.net-informations.com/excel-2007/vb.net_excel_oledb.htm – 2011-05-07 08:01:35

+0

感谢您的评论杰伊。我希望有一个更简单的方法来做到这一点。无论如何,我所做的就是使用Derived Column组件,并使这些列标题(名称)硬编码。这样做的工作,但显然我很难编码它现在对我来说很有用。谢谢。 – Den03 2011-05-09 16:22:43

回答

0

您可以将Excel中的列拖出到SSIS中的变量中。然后,您可以使用变量中的值从数据库中获取数据。另外,通过使用for-each循环,如果列名太多,则可以每次都设置固定数量的列。

0

我知道这是一个非常古老的问题,我只是偶然发现了这一点。我们面临类似的情况,我们使用缓存转换来解决。您可以将Excel数据转储到缓存(使用缓存转换),然后在Lookup上查找此缓存而不是OLEDB表。我们多次完成了这个任务,没有任何问题。