简体   繁体   English

如何将SQL表数据导出到Excel工作表中?

[英]how to export sql table data into excel worksheet?

I have this table that I want to export its data into my excel file. 我有想要将其数据导出到我的excel文件中的表。 so far I've tried every topic here but nothing worked. 到目前为止,我已经在这里尝试了所有主题,但没有任何效果。 I've tried these 2: 我已经尝试过这些2:

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

when I run it with jet I'll get this error: 当我用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)".

and when I ran the ACE.OLEDB I get this one: 当我运行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)".

I give my sql account full control permission as well. 我也给我的sql帐户完全控制权限。 plus I run these two as well: 再加上我也运行这两个:

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: 2:

sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE

I would appreciate it if anyone could point me into the right direction. 如果有人能指出我正确的方向,我将不胜感激。

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

You can use way written in this topic How do you transfer or export SQL Server 2005 data to Excel 您可以使用本主题中编写的方式如何将SQL Server 2005数据传输或导出到Excel

In excel using External data menu connect to database 在Excel中使用外部数据菜单连接到数据库

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM