SSIS导出日期结尾的Excel文件

在使用ETL工具定期导出Excel格式的数据文档时,有时会要求导出的文件名称要以当天的日期或时间结尾,用以区分或归档。

微软的SSIS也能实现这样的要求,重点有两个:

1.使用Variable设置Excel文件名

2.使用Execute SQL Task 预先设置Excel文件里的WorkSheet(类似于建表的方式)

以下是实现过程:

  

SSIS导出日期结尾的Excel文件_第1张图片

 

 

SSIS导出日期结尾的Excel文件_第2张图片

 

 设置Excel Connection Manager的属性ExcelFilePath为用户定义的Variable。

SSIS导出日期结尾的Excel文件_第3张图片

 

 用户定义Variable:FilePath,计算公式如下:

SSIS导出日期结尾的Excel文件_第4张图片

 

以上步骤实现了导出的Excel文件名以当天日期结尾的效果,但是由于该文件是动态生成的,事先没有建立,所以运行时会出现数据流不知道字段映射到哪里的问题。

因此还需要在Excel中事先建立一个“Table”,其结构和字段映射相匹配,这里使用到了Execute SQL Task。一般这个控件是以Database为上下文环境运行的,但这里将它的ConnectionType设置为Excel,然后用Create table语句在Excel Connection Manager对应的文件中建立WorkSheet的结构。

 

SSIS导出日期结尾的Excel文件_第5张图片

 

 

SSIS导出日期结尾的Excel文件_第6张图片

 

以下是运行结果:

 

SSIS导出日期结尾的Excel文件_第7张图片

SSIS导出日期结尾的Excel文件_第8张图片

 

 

你可能感兴趣的:(SQL,Server,Excel)