如果把SQL Server 2000中的表导出到Excel

我在查询器里输入一下代码:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=d:\temp.xls',..Sheet1$)
select * from echotestdb..EchoTest
但是出错了:
服务器: 消息 7314,级别 16,状态 1,行 1
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 不包含表 'Sheet1$'。该表可能不存在,或当前用户没有使用该表的权限。
---------------------
有哪位高手可以高手我该怎么改?哪里出错了?谢谢
如果输入以下代码到查询器:
EXEC master..xp_cmdshell 'bcp echotestdb.dbo.EchoTest out d:\Test.xls -c -q -S"(BJCNL-08260\ECHO)" -U"sa" -P"sa"'
==================================================================
出了以下错误:
SQLState = 08001, NativeError = 17
Error = [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.
SQLState = 01000, NativeError = 53
Warning = [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
NULL
=================================================================
为啥不行呢??出了啥错啊?

方法一:对于会写查询SQL语句的则是直接写查询语句查询出结果。如下图:

接下来到桌面新建一个空的excel文件。

接下来回到SQLServer查询界面。鼠标右键点击查询结果的左上角空白列,点击“连同标题一起复制”。则已复制好了数据。如下图:

接下来打开之前建好的Excel文件把复制好的数据黏贴到excel即可。如下图:

方法二:对于不会写查询SQL语句的则使用数据库导出方法。

    选中要导出数据的数据库,点击右键会弹出一个右键菜单。点击“任务”再点击“导出数据(x)”。如下图:

    点击了“导出数据(x)”后会弹出一个界面,并填写好信息。如下图:

    点击下一步跳转到如下图1中的界面。在目标中选中excel类型,界面信息则发生改变,并选中导出的excel路径。如下图2。

    点击下一步跳转至如下界面,选中第一个选项。如下图:

    点击下一步,勾选要导出的表。如下图:

    点击下一步,跳转至如下界面:

    点击下一步:跳转到如下图1界面,选择下一步在点击完成,则会跳到如下图2界面。证明已经导出成功了。

    打开excel就可用看到导出的Excel了。如下图:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-02-05
用以下语句就可以解决:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=D:\testing.xls;',
'SELECT * FROM [SheetName$]') select * from SQLServerTable

---------------------
sigh。。。baidu还是很弱啊,自己不可以回答自己提出的问题。又没有人可以解决,还得注册一个新号来回答。方便后来者学习。本回答被提问者采纳
第2个回答  2009-01-20
关注!
相似回答