如何在 sql server 2008R2/ssis 中为每个日期导出带有日期时间的单独 excel 表?

Posted

技术标签:

【中文标题】如何在 sql server 2008R2/ssis 中为每个日期导出带有日期时间的单独 excel 表?【英文标题】:How to export separate excel sheet with datetime for each date in sqlserver 2008R2/ssis? 【发布时间】:2015-04-02 15:08:10 【问题描述】:

有 2 个表名为 table1table2

我需要根据条件导出数据

Table1

date         col2   col3   etc
2015-01-01    
2015-03-03
2015-02-27

列需要从 412 列导出

Table2
date    name    amount    ..... 276    
2015-01-01    
2015-02-01    
2015-02-04   
2015-02-02    
2015-02-15   
2015-02-24    

注意:现在我需要从table1 导出匹配日期的 Excel 工作表。

每个 Excel 工作表都应包含与该日期相对应的记录,因为对于 table1 中的每个日期,我们确实有 >=1000 到 1 条匹配记录。

Excel 工作表名称应为table name_2015-01-01.xlsx,因此我必须从上表中导出 3 个 Excel 工作表。

请在 ssis 或 bcp 中提供一个示例。

【问题讨论】:

这是一个广泛的话题。你到底坚持了哪一部分? 感谢 Alleman 的回复。我有一个简短的想法,通过使用 while 循环,我们可以实现它,但我无法实现它,所以你能通过以 zip 格式发布 SSIS packgae 来帮助我,以便我可以理解开发的包或代码。 编写一个 SSIS 包,将其压缩并发送给您?那很好笑!试试这个谷歌搜索:“ssis 导出到多个 Excel 工作表”。祝你好运! 亲爱的 Tab Alleman,如果您不知道如何回答,请停止回答某人的问题。你认为这个博客是时光倒流的吗?没有人得到他们问题的答案或指导?请不要让这个网站成为一个争论网站,这对缺乏 IT 专业人士有很大帮助。 此链接有一对不错的教程可以帮助您入门 social.msdn.microsoft.com/Forums/sqlserver/en-US/… ,您的问题对于本网站来说有点过于宽泛,如果您遇到具体问题,请随时提出另一个问题。请阅读***.com/help/how-to-ask,以便您更好地了解社区的期望。 【参考方案1】:

先准备好需要的sql查询结果,做成批处理文件

@Echo 关闭 设置日期键=%1

bcp "SELECT col1,'""' + ISNULL(col2,'') FROM tbalename WHERE DATE_KEY = %datekey%" queryout path _%datekey%.csv -c -t, -r\n -S "servername " -U 用户名 -P pwd -d 数据库名

现在我们需要使用 tablename_date.csv /.xlsx 单独创建 excel 文件

为此,我已经生成了带有所需日期的 exell 表

bcp "select distinct date from table" queryout path\filename.csv -c -t, -r\n -S "servername" -U username -P pwd -d databasename

现在我需要在 for 循环中保留所需的日期并调用两个单独的批处理文件

设置 bfile="路径\firstbatchfile.bat" 设置 refile="路径\2ndbatchfile.bat" 调用 %refile% %%A FOR /F %%A IN (2ndbatchfileoutput.txt) DO ( 调用 %bfile% %%A )

现在我将安排所有的主要批处理文件。

【讨论】:

以上是关于如何在 sql server 2008R2/ssis 中为每个日期导出带有日期时间的单独 excel 表?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQL Server 2014 中从 SQL Server 2008 R2 恢复备份?

在sql server 2008中如何查询本日、本周和本月数据

如何使用 SQL Server Management Studio (2008) 在 SQL Server Compact Edition 中创建列

如何在SQL server 2008 新建两个实例

如何安装sql server 2008 r2

如何将所有数据库(快速)自 sql server 2008 express 传递到 sql server 2008 R2(无 express)