如何使用很少的 sql 语句将存储过程导出到 Excel 工作簿到多个工作表?
我目前使用以下语句:
EXEC proc_generate__excel 'db', 'temp',@filename, @SeqNo, @ext, @sqlorder
如果有3条sql语句,将会创建3个Excel工作簿。
如何将三个 sql 语句中的数据导出到一个 Excel 工作簿中的三个工作表?
最佳答案
创建一个空的 Excel 文件,其中包含您需要的工作表(我的示例 sales.xls 包含工作表“sheet1”、“sheet2”)
将空文件复制到所需位置/名称
使用 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
使用 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/