Power Query 拉取 SQL Server 数据到 Excel 怎么做
用 Excel Power Query 连接 SQL Server 拉数据的完整路径:数据源连接、查询导入、刷新机制,以及大表场景的注意事项。
结论先行
Excel 的 Power Query(数据选项卡 → 获取数据 → 从数据库 → 从 SQL Server 数据库)能直接把 SQL Server 表/视图/查询结果拉进工作簿,并支持「刷新」机制定时同步。前提是:Excel 所在机器能网络到达 SQL Server 实例、驱动与账号配好。数据量大时先收窄再拉,别整库搬。
基本路径
- Excel → 数据 → 获取数据 → 从数据库 → 从 SQL Server 数据库;
- 填服务器名(
主机名或主机名\实例名)与要导入的数据库名; - 选要拉的对象:表/视图,或写一段 SQL 查询(推荐写查询,把过滤在数据库侧完成);
- 认证方式按环境选:Windows 认证(域内)或 SQL 认证;
- 加载到工作表 / 仅创建连接。
拉取前把过滤(WHERE 最近 N 个月)和列裁剪放在查询里做——Power Query 拉全表再在本地过滤,大表直接拖垮 Excel 内存。
刷新机制
- 手动:数据选项卡 → 全部刷新;
- 定时:数据 → 查询与连接 → 属性 → 刷新选项,勾选「打开文件时刷新」「每 N 分钟自动刷新」(自动刷新需要 Excel 保持打开);
- 计划任务场景:见「Power Query 刷新怎么做定时」相关条目。
权限与前置
- 连接用的账号在 SQL Server 里要有该库的读权限(最小权限原则,别用 sa);
- 网络层同「远程访问」四道关:TCP 可达、防火墙放行、认证通过;
- 驱动按引擎安装(见 ODBC 驱动相关条目)。
大表边界
| 数据规模 | 建议 |
|---|---|
| 万行级、字段少 | 直接拉,无压力 |
| 百万行级 | 查询侧聚合/过滤,拉结果而非明细 |
| 千万行级以上 | 别用 Excel 当终端,改用报表工具或 SSMS 导出 |
Excel 本身的工作表行数是硬上限,拉超上限直接截断报错;上限数值以条目页为准。Office 侧工具可对照 Office 条目 使用的版本;引擎侧对照 SQL Server 2022 Developer;拉取前用 SSMS 管理工具条目 先验证查询本身正确,再搬进 Power Query。