找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 7765|回复: 23

将SQL数据库中的表导入到新的EXCEL表

[复制链接]
发表于 2012-8-6 17:59:46 | 显示全部楼层 |阅读模式
悬赏50金币未解决
现在想将一个SQL数据库中的表导入到新的EXCEL表中,写了如下语句:
SELECT *
INTO [Excel 8.0;Database=C:\aa.xls].ProductSales
from [ufdata_999_2003].dbo.[DISPATCHLIST]

在数据库查询分析器中执行时,总是提示“指定的所有者名称 'Excel 8.0;Database=C:\aaxls' 不存在,或者您没有使用该名称的权限。”
请教大家

备注:BCP命令已经尝试过,因为不带表头,所以不符合;INSERT命令是插入到已经存在的表吧,所以也不符合。

发表于 2012-8-6 21:02:25 | 显示全部楼层
打开数据库直接复制多好,为什么非得写语句呢?

点评

这样可以做个用友系统的接口,总是打开数据库操作,更不大合适  详情 回复 发表于 2012-8-6 21:09
回复

使用道具 举报

 楼主| 发表于 2012-8-6 21:09:40 | 显示全部楼层
回复

使用道具 举报

发表于 2012-8-6 22:52:42 | 显示全部楼层
本帖最后由 37724861 于 2012-8-6 22:56 编辑

那你的代码把SQL作为外部数据源,而本身打开xls,然后可以使用
  1. select * into ProductSales from [ODBC;Driver=SQL SERVER;server=SQLserverName;UID=sa;PWD=SAPwd;database=ufdata_999_2003]..DISPATCHLIST
复制代码


                                                                                                                                                                        
回复

使用道具 举报

 楼主| 发表于 2012-8-7 09:46:48 | 显示全部楼层
我是在查询分析器中执行的,按照楼上修改后的语句执行并不成功,在VB的ADO中使用,也不成功。

点评

我说了,你的代码把SQL作为外部数据源,你还在查询分析器直接那个语句,当然不行了 你ado使用,那你的conn是不是还是连接的sql?那当然不行,用ado连接xls  详情 回复 发表于 2012-8-7 10:29
回复

使用道具 举报

发表于 2012-8-7 09:50:02 | 显示全部楼层
你是要从数据库取数到excel表格里面吗?可以在excel里用vba代码
......
rs.open "select  * from inventory where 1=1",cnn,1,3
        Set book = Workbooks.Add
        With book
            .sheets(1).cells(1,1).copyfromrecordset    rs
            .SaveAs Filename:="D:\导出.xls"
            .Close
        End With

如果是直接从用友导出数据(像单据的导出功能一样),我不会


点评

先学习了你的这段代码,尽管没有达到创建表的目的  详情 回复 发表于 2012-8-7 16:48

评分

参与人数 1金币 +10 收起 理由
风帆刘工 + 10

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2012-8-7 10:11:41 | 显示全部楼层
大家一定见过用友帐表输出EXCEL时的提示和操作,我就想做到那样的结果。
利用SQL语句(这条语句比起其它写入语句来说,好操作)将帐表展现的结果输出到用户指定的EXCEL中去。
回复

使用道具 举报

发表于 2012-8-7 10:13:30 | 显示全部楼层
你是在vb程序里导出数据库的数据?
那就跟vba是差不多的代码了..
回复

使用道具 举报

 楼主| 发表于 2012-8-7 10:26:14 | 显示全部楼层
我是想请教大家select into EXCEL表为啥不能直接实现呢
回复

使用道具 举报

发表于 2012-8-7 10:29:22 | 显示全部楼层
本帖最后由 37724861 于 2012-8-7 10:31 编辑
风帆刘工 发表于 2012-8-7 09:46
我是在查询分析器中执行的,按照楼上修改后的语句执行并不成功,在VB的ADO中使用,也不成功。


我说了,你的代码把SQL作为外部数据源,你还在查询分析器直接那个语句,当然不行了
你ado,那你的conn是不是还是连接的sql?那当然不行,用ado连接xls


select into EXCEL.[sheet] from SQL.table 这种行不通的。
回复

使用道具 举报

 楼主| 发表于 2012-8-7 10:54:12 | 显示全部楼层
我的这条语句其实来自微软的官方网站:http://support.microsoft.com/kb/295646/zh-cn。怎么会是行不通的呢?
只不过我确实感觉语句哪里可能写错了。请教大家

点评

淫家是Access与xls,不是SQL,也没说支持SQL。  详情 回复 发表于 2012-8-7 11:03
回复

使用道具 举报

发表于 2012-8-7 11:03:32 | 显示全部楼层
风帆刘工 发表于 2012-8-7 10:54
我的这条语句其实来自微软的官方网站:http://support.microsoft.com/kb/295646/zh-cn。怎么会是行不通的呢 ...


淫家是Access与xls,不是SQL,也没说支持SQL。
Access与SQL还是有差别的。
AA.jpg

回复

使用道具 举报

 楼主| 发表于 2012-8-7 16:48:06 | 显示全部楼层
moyandukang 发表于 2012-8-7 09:50
你是要从数据库取数到excel表格里面吗?可以在excel里用vba代码
......
rs.open "select  * from inventor ...

先学习了你的这段代码,尽管没有达到创建表的目的
回复

使用道具 举报

发表于 2012-8-9 11:12:01 | 显示全部楼层
我是想请教大家select into EXCEL表为啥不能直接实现呢
回复

使用道具 举报

发表于 2012-9-7 12:36:34 | 显示全部楼层
直接在EXCEL 用外部数据 连接到数据库 写上查询语句不就行了?需要时 点击 “更新”就行了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-5-5 11:31 , Processed in 0.055928 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表