首页 > sql sever 一个表1600万记录导出多个excel表

sql sever 一个表1600万记录导出多个excel表

sql sever 一个表1600万记录导出多个excel表!
打算每个excel 2万记录,如何自动处理?


提供另外一个思路:

--创建一个空的excel表格或复制一个
exec xp_cmdshell 'copy e:\templates\temp.xls e:\export\temp.xls'

--导出到第一个页签
insert into OPENROWSET(
        'Microsoft.Jet.OLEDB.4.0', 
        'Excel 10.0;Database=d:\export\temp.xls;;HDR=YES', 
        'SELECT * FROM [Sheet1$]')
select * from table_part1

--导出到第二个页签
insert into OPENROWSET(
        'Microsoft.Jet.OLEDB.4.0', 
        'Excel 10.0;Database=d:\export\sales.xls;;HDR=YES', 
        'SELECT * FROM [Sheet2$]')
select * from table_part2
  1. part1,part2...partn采用分页方式

  2. 注意excel版本,本例中是Excel10.0


可以用BCP导出,然后在你的SQL上做文档,分批导出你可以参考分页处理方式,如用行号,或者本身都有的记录号等
导出命令见下面,仅是示范命令,没考虑分页

  EXEC master..xp_cmdshell 'bcp "SELECT * FROM 数据库名.dbo.表名 ORDER BY 某字段" queryout "c:\book1.xls" /c -/S"服务器名" /U"用户名" -P"密码"'
【热门文章】
【热门文章】