ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 278007|回复: 475

导入外部数据出现问题的成因及解决方案

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-3-26 15:22 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖已被收录到知识树中,索引项:外部数据采集
本帖最后由 BIN_YANG168 于 2011-8-28 20:16 编辑

导入外部数据进行数据查询或创建数据透视表给我们的数据管理带来了极大的方便,方便的同时由于对某方面的细节不甚了解也会对我们产生极大的困惑,现将自已整理的导入外部数据出现问题的成因及解决方案与大家分享,希望对您有所帮助。
1、同时安装Excel 2003和2007版本,03版本出错
Excel 2003和2007版本被同时安装后,“ODBC 数据源管理器”中的Excel驱动程序“Excel files   Microsoft Excel Drive(*.xls)”将被Excel 2007的驱动程序“Excel files   Microsoft Excel Drive(*.xls *.xlsx *.xlsm *.xlsb)” 所替代。
Excel 2003和2007“ODBC 数据源管理器”中的Excel驱动程序对比:
EH3.JPG EH2.JPG
因此,在07可以通过新建数据库查询导入外部数据,但在03中用同样的方法导入数据时却总出现“格式不对”或“无法添加表”的错误提示而不能导入外部数据新进行数据查询或创建数据透视表。
错误提示:
EH1.JPG

评分

6

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-3-26 15:26 | 显示全部楼层
本帖最后由 BIN_YANG168 于 2011-8-28 20:15 编辑

解决方案1:
单独安装供2003版本导入数据用的“ODBC 数据源管理器”中的Excel驱动程序“Excel files   Microsoft Excel Drive(*.xls)”。
操作方法如下:
步骤1: 单击桌面“开始”→“设置”→“控制面版”,出现“控制面板”对话框,如图所示:
EH4.JPG
步骤2 鼠标双击“管理工具”图标,在弹出的“管理工具”对话框中双击“数据源(ODBC)”,出现“管理工具”对话框,如图所示:
EH5.JPG
步骤3 鼠标双击“数据源(ODBC)”图标,弹出“ODBC 数据源管理器”对话框,如图所示:
EH6.JPG
步骤4 单击“添加”按钮,在弹出的“创建数据源”对话框中,选择Microsoft Excel Drive(*.xls)驱动程序,如图所示:
EH7.JPG

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-3-26 15:32 | 显示全部楼层
步骤5        单击“完成”按钮,进行“ODBC Microsoft Excel 安装”,数据源名输入Excel 2003,版本选择“Excel 97-2000”,如图所示:
EH8.JPG
步骤6        单击“确定”按钮完成安装,出现2个关于Excel的驱动程序,如图所示:
EH9.JPG
至此,用驱动程序“Excel files   Microsoft Excel Drive(*.xls)来新建数据库查询将不会出现错误提示了。
测试附件:
连接测试.rar (10.74 KB, 下载次数: 1255)
SQL语句:
  1. Select '测试1' ,* from `D:\连接测试\测试1`.`1月$` `1月$` union all
  2. Select '测试1' ,* from `D:\连接测试\测试1`.`2月$` `2月$` union all  
  3. Select '测试2' ,* from `D:\连接测试\测试2`.`1月$` `1月$` union all
  4. Select '测试2' ,* from `D:\连接测试\测试2`.`2月$` `2月$`
复制代码
演示文件1:错误提示
YS1.gif
演示文件2:安装Excel驱动程序“Excel files   Microsoft Excel Drive(*.xls)”
ys2.gif

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-3-26 15:34 | 显示全部楼层
解决方案2:
很简单,不用单独安装专供2003版本导入数据用的“ODBC 数据源管理器”中的Excel驱动程序“Excel files   Microsoft Excel Drive(*.xls)”,在SQL语句上加上文件的扩展名让“ODBC 数据源管理器”自动识别即可。
SQL语句:
  1. Select '测试1' ,* from `D:\连接测试\测试1.xls`.`1月$` `1月$` union all
  2. Select '测试1' ,* from `D:\连接测试\测试1.xls`.`2月$` `2月$` union all  
  3. Select '测试2' ,* from `D:\连接测试\测试2.xls`.`1月$` `1月$` union all
  4. Select '测试2' ,* from `D:\连接测试\测试2.xls`.`2月$` `2月$`
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-3-26 15:36 | 显示全部楼层
2、 同时安装Excel 2003和2007版本,07版本出错
在“ODBC 数据源管理器”中如果覆盖了Excel 2007的驱动程序“Excel files   Microsoft Excel Drive(*.xls *.xlsx *.xlsm *.xlsb)” ,在07中通过新建数据库查询导入外部数据就会出现“格式不对”或“无法添加表”的错误提示而不能导入外部数据新进行数据查询或创建数据透视表。
解决方案:用上述方法添加Excel 2007的驱动程序“Excel files   Microsoft Excel Drive(*.xls *.xlsx *.xlsm *.xlsb)”,数据源名输入Excel 2007,版本选择“Excel 12.0”。

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-3-26 15:39 | 显示全部楼层
本帖最后由 BIN_YANG168 于 2011-8-28 20:16 编辑

3、Microsoft Office Access数据库引擎找不到对象“XX$”
Excel 2007利用外部数据源的“现有连接”进行多工作簿汇总时(虽然已经安装了“ODBC 数据源”的Excel2007的驱动),但还是出现了“Microsoft Office Access数据库引擎找不到对象“XX$”。请确定该对象存在,并正确拼写其名称和路径名。”的错误提示。获取数据时发生问题。
Snap1.jpg
Snap2.jpg
解决方案:在SQL语句上加上文件的扩展名让“ODBC 数据源管理器”自动识别即可。
将SQL语句:
  1. Select '测试1' ,* from `D:\连接测试\测试1`.`1月$` `1月$` union all
  2. Select '测试1' ,* from `D:\连接测试\测试1`.`2月$` `2月$` union all  
  3. Select '测试2' ,* from `D:\连接测试\测试2`.`1月$` `1月$` union all
  4. Select '测试2' ,* from `D:\连接测试\测试2`.`2月$` `2月$`
复制代码
更改为:
  1. Select '测试1' ,* from `D:\连接测试\测试1.xlsx`.`1月$` `1月$` union all
  2. Select '测试1' ,* from `D:\连接测试\测试1.xlsx`.`2月$` `2月$` union all  
  3. Select '测试2' ,* from `D:\连接测试\测试2.xlsx`.`1月$` `1月$` union all
  4. Select '测试2' ,* from `D:\连接测试\测试2.xlsx`.`2月$` `2月$`
复制代码
测试附件2007版本:
连接测试.rar (31.83 KB, 下载次数: 820)
演示文件:
ya5.gif

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-3-26 15:41 | 显示全部楼层
4、关于Excel导入外部数据的引擎
Excel导入外部数据的引擎2003和2007两个版本有很大的区别,2003版本的引擎为:Provider=Microsoft.JET. OLEDB.4.0,2007版本的引擎为:Provider=Microsoft.ACE.OLEDB.12.0。
EH10.JPG
EH11.JPG
若要访问 Excel 2007 工作簿,OLE DB 连接管理器需要 Microsoft Office 12.0 Access 数据库引擎的 OLE DB 访问接口。
此访问接口是随 2007 Microsoft Office system 自动安装的。如果在运行 Integration Services 的计算机上未安装 2007 Office system,则需要单独安装该访问接口。
若要安装 Microsoft Office 12.0 Access 数据库引擎的 OLE DB 访问接口,请从 2007 Office System Driver: Data Connectivity Components(2007 Office system 驱动程序:数据连接组件)下载并安装这些组件。文件名:AccessDatabaseEngine.exe,大小:25.3MB。
下载网址:
http://www.microsoft.com/downloa ... &displaylang=en

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-3-26 15:42 | 显示全部楼层
本帖最后由 BIN_YANG168 于 2011-8-28 20:15 编辑

5、特殊情况,需要刷新或清空我的数据源
一般情况下运用导入外部数据编辑“OLE DB查询”创建数据透视表,在SQL语句结构正确的情况下都不会出现问题,但有的时候需要去清空我的数据源,才能完成数据的导入。
出现“数据链接属性”对话框后,无论怎样选择和输入数据库名称,单击确定按钮后都将会返回Excel工作表而且不能导入任何数据。
需要清空我得数据源.jpg
解决方法:
双击桌面“我的文档”,双击“我的数据源”
1.单击鼠标右键选择刷新
2.按CTRL+A组合健选取全部的数据源,最后按Delete键删除数据源。

点评

我一直为这个问题烦恼,谢谢版主!  发表于 2011-11-14 23:41

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2009-3-26 16:43 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-3-26 19:27 | 显示全部楼层
本帖最后由 ExcelHome 于 2012-10-6 16:13 编辑

非常好,经常出现源数据无法导入的情况,现在知道原因了。


您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-22 12:10 , Processed in 0.040620 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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