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

标签 sql-server excel stored-procedures

如何使用很少的 sql 语句将存储过程导出到 Excel 工作簿到多个工作表?

我目前使用以下语句:

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

如果有3条sql语句,将会创建3个Excel工作簿。

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

最佳答案

  1. 创建一个空的 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 export to Excel with OPENROWSET
error on sql script with 'openrowset'

关于sql-server - SQL Server 存储过程导出到具有多个工作表的 Excel 工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8740280/

相关文章:

sql-server - 是否可以限制 Entity Framework 使用的连接数?

mysql查询当外键关系时用单个查询删除多个表

sql-server - 您能否提供在 Amazon EC2 实例上运行 SQL Server 的任何提示/最佳实践?

sql - 通过 VBA 将 3000 个插入快速上传到 Teradata

excel - 从混合字符串中提取数字,然后在 Power Query 中有条件地进行一些计算

php - 是否可以从存储过程中调用 PHP 文件?

mysql - 在 codeigniter 中调用存储过程

asp.net - IIS 区域设置

excel - 过滤器中的多个标准

SQL,如何使用每个日期列表作为过程的参数来循环?