使用SSIS导出到Excel时保留公式

时间:2012-10-18 12:11:25

标签: sql-server excel visual-studio-2008 ssis export-to-excel

我目前正在使用模板生成Excel,以便使用SSIS将数据从我的数据库导出到每日报告。

此模板是一个包含约5个工作表的工作簿,其中只有1个需要自动填充。此工作表有大约20列,其中2列使用Vlookups根据前一列中的值自动填充值。这就像一个ID-Name对。我需要从我的数据库中将ID population作为导出的一部分,而Name应该自动填充。这个ID-Name关系在Sheet 2中保留,我没有触及。

我的问题是:公式适用于这两列约150行(我不希望有更多记录)。因此,如果我的数据库返回120个结果,我希望SSIS的最终Excel报告具有从A2到T122的记录。然而,正在发生的事情是,一旦我的SSIS包执行,我得到一个前150行空白的Excel文件......然后填写我的120个结果。这些基于公式的名称列的值为“#NA”时ID列为空。

我该如何解决这个问题?如果我在没有ID值时重新设计Excel公式来存储空字符串而不是#NA,我能解决这个问题吗?我的最终用户需要将这些公式保存在他的最终Excel输出中。

1 个答案:

答案 0 :(得分:0)

如果引用字段为空,我不能完全确定你是否可以设计一个填充空字符串的Vlookup,但这是我想到的第一个建议。

我的理解是SSIS引擎可能会看到这些#NA值,并假设这些行已经有了有意义的数据,因此回避而不是覆盖它们。在某处可能有一个Overwrite属性,我还没有找到。