请问:如何从SQL 2008数据库中“一键(F5)”分别导出多个Excel表?
数据库版本:SQL Server 2008
操作系统:windows 7
Office 版本:2011
问题具体描述:1.在SQL Server 2008中,新建了一个 wsgj 数据库。并且在 wsgj 数据库中存放了40个表(字段统一)。
2.这40个表的字段都一样:乡、村、小地名、面积、负责人、联系电话
3.请问:如何把这40个表“一键(F5)”分别导出为Excel?
--如果从SQL数据库中,导出数据到Excel,如果Excel文件已经存在,而且已经按照要接收的数据创建好表头,就可以简单的用:insert into OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\表1.xls',sheet1$)select * from 表1
use wsgjgodeclare @table_name varchar(50) --创建一个变量用来存储表名declare cur cursor for select name from sysobjects where xtype='U' --创建游标并搜索所有表名open cur fetch next from cur into @table_name --循环体while @@fetch_status=0 begin EXEC ('insert into OPENROWSET("MICROSOFT.JET.OLEDB.4.0","Excel 5.0;HDR=YES;DATABASE=C:\[' + @table_name + '].xls",sheet1$) select * from '+@table_name) fetch next from cur into @table_name end close cur deallocate cur
EXEC ('insert into OPENROWSET(''MICROSOFT.JET.OLEDB.4.0'' ,''Excel 5.0;HDR=YES;DATABASE=C:\test\' + @table_name + '.xls'',sheet1$) select * from '+@table_name)