如何将存储过程中的Excel工作簿导出到包含少量sql语句的多个工作表?
我目前正在使用以下声明:
EXEC proc_generate__excel 'db', 'temp',@filename, @SeqNo, @ext, @sqlorder
如果有三个sql语句,它将创建三个Excel工作簿。
如何将三个sql语句中的数据导出到一个Excel工作簿中的三个工作表?
答案 0 :(得分:7)
创建一个空的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'