首页 文章

将数据导出到Excel工作表而不在SSIS中写入列名

提问于
浏览
0

我有这个问题 . 我必须动态创建Excel 2007文件 . 为此,我有一个Excel连接与“第一行是列名称”检查uncheked . 然后我用该Excel连接和以下SQL语句创建了一个SQL任务:

CREATE TABLE `MySheet` (`MyColumn` LongText)

然后我有一个数据流任务,用单列数据流填充工作表 .

问题是即使我取消选中"First Row Are Column Names"检查,导出仍会在第一行写入"MyColumn" . 我需要能够从第一行开始导出数据,而不会在其上写入任何其他内容 .

这是一个问题,因为在不同的运行中,Excel文件必须被SSIS包覆盖 . 由于我们在创建文件的文件夹中没有删除许可,因此我需要删除上一次运行中的工作表内容 . 我设法使用SQL任务和Excel连接与语句执行此操作:

DROP TABLE [MySheet]

这设法擦除每一行而不删除工作表 . 但是,由于此任务之后是数据流任务而不是工作表创建任务(因为工作表仍在那里),当数据流任务再次填充行时,它会将第一行留空 . 它不会重写列名 .

这种差异是我想要避免的 .

有什么方法可以避免这种情况吗?

谢谢

1 回答

  • 0

    简短而甜蜜的回答是否定的 . 不可能 . 它总是必须使用一些东西来使它与众不同 . 你可以做的是,使用一个小的poweshell脚本打开excel文件,运行一个小宏来删除第一行,然后保存并关闭它 . 有很多PowerShell脚本可以帮助您解决这个问题 .

相关问题