如何将sql表数据导出到excel工作表中?
Posted
技术标签:
【中文标题】如何将sql表数据导出到excel工作表中?【英文标题】:how to export sql table data into excel worksheet? 【发布时间】:2016-08-10 07:20:05 【问题描述】:我有这张表,我想将其数据导出到我的 excel 文件中。 到目前为止,我已经尝试了这里的每个主题,但没有任何效果。 我试过这两个:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=D:\excel\testing.xls;',
'SELECT * FROM [newStart$]') select * from OutputResult
insert into OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 8.0;Database=D:\excel\testing.xls;',
'SELECT * FROM [newStart$]') select * from OutputResult
当我用 jet 运行它时,我会得到这个错误:
OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)" returned message "The Microsoft Jet database engine could not find the object 'newStart$'. Make sure the object exists and that you spell its name and the path name correctly.".
Msg 7350, Level 16, State 2, Line 1 Cannot get the column information from OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)".
当我运行 ACE.OLEDB 时,我得到了这个:
OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "The Microsoft Office Access database engine could not find the object 'newStart$'. Make sure the object exists and that you spell its name and the path name correctly.".
Msg 7350, Level 16, State 2, Line 1
Cannot get the column information from OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".
我也给我的 sql 帐户完全控制权限。 另外我也运行这两个:
USE [master]
GO
EXEC master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1
GO
EXEC master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1
GO
2:
sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
如果有人能指出我正确的方向,我将不胜感激。
【问题讨论】:
您可以使用 SSIS 来执行此操作,如果您有此选项 【参考方案1】:strSqlQry = "Place SQL Qry Here"
vFilePath = "Database Path"
'Create Objects
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
'Open Connection
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & vFilePath & ";" & _
"Extended Properties=""Excel 8.0;HDR=Yes;"";"
'Execute Qry
rs.Open strSqlQry, conn, adOpenStatic, adLockOptimistic
'Place recorset into excel worksheet
ActiveSheet.Range("A1").CopyFromRecordset (NewRS)
rs.Close
Set rs = Nothing
Set conn = Nothing
【讨论】:
我是新的sql概念,我应该把它放在我的存储过程中吗? 因为我希望它用 sql 查询生成。【参考方案2】:您可以使用本主题中写的方式How do you transfer or export SQL Server 2005 data to Excel
在 excel 中使用外部数据菜单连接到数据库
【讨论】:
在我提出这个问题之前,我已经了解了所有这些主题。不过还是谢谢。以上是关于如何将sql表数据导出到excel工作表中?的主要内容,如果未能解决你的问题,请参考以下文章
ROBDC SqlSave:如何将数据导出到 Excel 工作表中?
如何将SQL Server中多个表的数据一次性返回到一张EXCEL工作表(Sheet)中