如何在没有附加软件的情况下将SSIS导出到Microsoft Excel?

时间:2009-04-15 18:59:27

标签: excel ssis export openrowset

8 个答案:

答案 0 :(得分:3)

在脚本任务中创建Excel工作簿会更容易,然后在流程中稍后选择它吗?

SSIS的引擎部分很好,但与Excel的集成很糟糕

“将SSIS与Excel结合使用就像让热焦油在路锥中汇集你的iHole”

答案 1 :(得分:2)

博士。 Zim,我相信你是最初提出这个问题的人。我完全感受到你的痛苦。我非常喜欢SSIS,但我绝对讨厌Excel标准的有限工具。我想要做的就是在Excel中加粗标题或行1记录,而不是加粗以下记录。我没有找到一个很好的方法来做到这一点;授予我接近这个没有脚本任务或自定义扩展,但你会认为这个简单的东西是标准选项。看起来我可能被迫研究和编写一些对于一项应该如此基础的任务而言很喜欢的东西。我自己已经花了很多时间在这上面。有谁知道你是否可以使用Excel版本的Excel版本:2000 / XP / 2003?感谢。

答案 2 :(得分:2)

这是一个旧线程但是如何使用平面文件连接并将数据作为格式化的html文档写出来。将页眉中的mime类型设置为“application / excel”。当您将文档作为附件发送并且收件人打开附件时,它将打开一个浏览器会话,但应在其顶部弹出Excel,其中的数据根据​​页面中指定的样式(CSS)进行格式化。

答案 3 :(得分:1)

您是否可以让SSIS将数据写入从A1开始的Excel工作表,然后根据需要创建另一个工作表,该工作表引用A1处的另一个工作表,但将其显示为A4?也就是说,在“漂亮”的表格上,A4将参考SSIS表格中的A1。

这将允许SSIS执行它的好处(操作基于表的数据),但允许Excel格式化或操作,无论您喜欢。

答案 4 :(得分:1)

当excel是SSIS中的目标或SSRS中的目标导出类型时,您无法控制格式并指定最终文件的方式。我曾经为SSRS编写了一个自定义excel渲染引擎,因为我的客户对生成的最终Excel报告的格式非常严格。我使用'Excel xml'在我的自定义渲染器中完成工作。可能是您可以使用XML输出并使用XSLT将其转换为Excel XML。

答案 5 :(得分:1)

我知道你不想使用脚本组件,所以也许你可以使用脚本包含的代码创建自己的custom task,以便其他人可以在将来使用它。请查看here以获取示例。

如果这似乎可行,我使用的解决方案是CarlosAg Excel Xml Writer Library。有了这个,您可以创建类似于使用Interop库但以xml格式生成excel的代码。这避免了使用Interop对象,这有时会导致excel进程hanging around

答案 6 :(得分:1)

考虑到SSIS对EXCEL的支持,我们不是使用迂回的方式来尝试将数据写入特定单元格,格式化单元格,对它们进行格式化,这确实是一项非常繁琐的工作,我们可以采用“模板”的方式来做到这一点。

假设我们需要在这样的&所以在其上完成所有自定义格式化的单元格。拥有工作表中的所有格式,说“SheetActual”,而保存数据的单元格实际上会有Lookups / refrences / Formulaes来引用SSIS在隐藏工作表中导出的原始数据说同一Excel的“SheetMasterHidden”连接。这个“SheetMasterHidden”基本上将主数据保存为SSIS将数据写入excel的默认格式。这样您就不必担心格式化数据运行时。

格式化Excel是一次性工作“如果”格式不经常更改。如果格式发生变化并且运行时确定了格式,则此解决方案可能不会很好。

答案 7 :(得分:0)

问题的答案就在于此。随着时间的推移,它成为一种进步状态。但是,如果您创建TABLE演示文稿,则会有SSRS创建Excel文件。它的效果也很好。