SQL Server存储过程导出到具有多个工作表的Excel工作簿

我怎样才能从一个存储过程导出到一个Excel工作簿到几个sql语句的多个工作表?

我目前使用以下语句:

EXEC proc_generate__excel 'db', 'temp',@filename, @SeqNo, @ext, @sqlorder 

如果有三个sql语句,它将创build三个Excel工作簿。

如何将数据从三个sql语句导出到一个Excel工作簿中的三个工作表

  1. 创build一个空的Excel文件,其中你需要的工作表(我的例子sales.xls与工作表“sheet1”,“sheet2”)

  2. 将空白文件复制到所需的位置/名称

  3. 使用您的select语句获取sheet1的所需信息; 将数据插入到excel文件中:

     insert into OPENROWSET( 'Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=d:\export\sales.xls;;HDR=YES', 'SELECT * FROM [Sheet1$]') select * from sales_part1 
  4. 使用您的select语句获取sheet2的所需信息; 将数据插入到excel文件中:

     insert into OPENROWSET( 'Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=d:\export\sales.xls;;HDR=YES', 'SELECT * FROM [Sheet2$]') select * from sales_part2 

查看这些链接以供参考:
http://www.sqlservercentral.com/Forums/Topic487837-19-1.aspx
http://www.sqlservercentral.com/Forums/Topic660148-338-1.aspx
http://www.databasejournal.com/features/mssql/article.php/10894_3331881_1

一些SO线程:
SQL Server使用OPENROWSET导出到Excel
错误的SQL脚本与'openrowset'