关于sqlserver 2005 导出数据表到excel2007 (*.xlsx)
今天遇到这么一个问题。怎么导出数据表到excel中呢。
查了很多资料,哎可以了结果一看,2003的excel有行数限制,65535行好像。可是数据表有将近10万。。。
然后发现了一位大侠帖子:http://blog.csdn.net/Limpire/article/details/2599760
写的很好。
方法简单。首先导出2007的xlsx格式,要装一下Microsoft.ACE.OLEDB.12.0(以下简称 ACE 引擎),Microsoft.Jet.OLEDB.4.0(以下简称 Jet 引擎只能访问 Office 97-2003,但不能访问 Office 2007。
Microsoft.ACE.OLEDB.12.0下载地址:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=7554f536-8c28-4598-9b72-ef94e038c891
安装后。启动ACE引擎:
SQL Server Management Studio ->服务器对象-->链接服务器-->Microsoft.ACE.OLEDB.12.0-->右键属性-->访问接口选项:全都不选,
然后创建查询(导出到*.xlsx中)
insert into OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\c.xlsx','select * FROM [sheet2$]')
select * from [rs].[dbo].[GENERALDATA]
注意的地方是:'Excel 12.0,这个东西,2003的excel可能是4左右的数值,07的要12以后的数值了。
ok。到此结束。。。
祝好运!