可通过五种方法实现Excel与Access数据互通:一、用“获取数据”导入Access表;二、配置ODBC建立实时连接;三、VBA脚本批量写入Access;四、Access导入向导接收Excel数据;五、Microsoft Query执行自定义SQL查询。

如果您在Excel中需要将数据导入Access数据库,或建立Excel与Access之间的批量外部数据连接,则可能是由于需要实现跨平台数据共享、避免重复录入或进行后台数据管理。以下是完成此操作的具体步骤:
一、使用Excel“获取数据”功能导入Access数据库
该方法通过Power Query引擎从Access数据库中提取表或查询结果,并以可刷新的表格形式加载至Excel工作表中,适用于定期同步结构化数据。
1、在Excel中切换到【数据】选项卡,点击【获取数据】→【从数据库】→【从Microsoft Access数据库】。
2、在弹出的文件选择窗口中,浏览并选中目标.accdb或.mdb文件,点击【打开】。
3、在导航器对话框中,勾选需导入的一个或多个表(或查询),取消勾选不需要的项。
4、点击【加载】直接导入到新工作表,或点击【转换数据】进入Power Query编辑器进行字段筛选、类型转换等预处理后再加载。
二、通过ODBC数据源建立Excel与Access的实时连接
该方法利用系统ODBC驱动创建持久化连接,使Excel可通过Microsoft Query或数据透视表直接读取Access数据,支持手动刷新且不复制原始数据。
1、确认已安装Microsoft Access Database Engine(建议使用与Office位数匹配的64位或32位版本)。
2、在Windows搜索栏输入“ODBC数据源”,以管理员身份运行ODBC数据源(64位)或(32位)。
3、在【用户DSN】或【系统DSN】选项卡中点击【添加】,选择“Microsoft Access Driver (*.mdb, *.accdb)”,点击【完成】。
4、在配置窗口中点击【选择】,定位并选中目标Access数据库文件,点击【确定】保存DSN名称(如“MyAccessDB”)。
5、返回Excel【数据】选项卡,点击【获取数据】→【从其他源】→【从ODBC】,在数据源列表中选择刚创建的DSN名称,输入凭据(若设密码)后完成连接。
三、使用VBA脚本自动导入Excel数据至Access表
该方法适用于将Excel工作表内容一次性写入Access已有表中,通过ADO对象执行SQL INSERT语句,适合无交互式操作的批处理场景。
1、在Excel中按Alt+F11打开VBA编辑器,插入新模块。
2、粘贴以下代码(需修改strDBPath为实际Access文件路径,strSheetName为Excel工作表名,strTableName为Access目标表名):
3、确保Access数据库未被其他程序独占打开,且目标表字段类型与Excel列数据兼容。
4、运行宏,VBA将逐行读取Excel数据并插入Access表,完成后提示“导入完成”。
四、通过Access“导入向导”反向接收Excel文件
该方法由Access主动发起导入,将Excel工作簿中的一个或多个工作表作为新表或追加至现有表,适合单次初始化数据迁移。
1、打开目标Access数据库,点击【外部数据】选项卡,选择【Excel】按钮。
2、点击【浏览】选择Excel文件(.xlsx或.xls),勾选“第一行包含列标题”(若适用)。
3、在导入向导第二步中,选择“将源数据导入当前数据库的新表中”或“追加到现有表”。
4、在第三步中,为每一列指定字段名称、数据类型,并设置主键(如需);可跳过不需要导入的列。
5、点击【完成】,Access自动生成新表或执行追加操作,并显示导入记录数。
五、使用Microsoft Query手动构建SQL查询连接Access
该方法允许用户编写自定义SQL语句(如JOIN、WHERE、GROUP BY),从Access中提取聚合或关联结果,适用于复杂逻辑的数据抽取。
1、在Excel中【数据】→【获取数据】→【从其他源】→【从Microsoft Query】→【Excel Files】→【确定】(暂选任意Excel文件,后续更换数据源)。
2、在Query窗口中,点击【SQL】按钮,删除默认语句,输入SELECT语句,例如:SELECT Customers.CustomerName, Orders.OrderDate FROM Customers INNER JOIN Orders ON Customers.ID = Orders.CustomerID。
3、点击【文件】→【更改数据源】→【ODBC DSN】→选择已配置的Access DSN,确认连接后执行查询。
4、返回Excel时选择“将数据放入数据透视表”或“现有工作表”,指定位置后完成加载。










