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

发布于 2022-09-02 01:22:27 字数 64 浏览 10 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

等待圉鍢 2022-09-09 01:22:27

提供另外一个思路:

--创建一个空的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

蝶…霜飞 2022-09-09 01:22:27

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

  EXEC master..xp_cmdshell 'bcp "SELECT * FROM 数据库名.dbo.表名 ORDER BY 某字段" queryout "c:\book1.xls" /c -/S"服务器名" /U"用户名" -P"密码"'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文