步骤 2:使用 Power Query(推荐,更灵活)
Power Query(Excel 内置 ETL 工具)支持直接连接多种数据库:
1、Excel “数据” “获取数据” 选择数据库类型(如 “SQL Server 数据库”)。
2、输入服务器名称、数据库名、凭据。
3、在 Power Query 编辑器中:
筛选/转换数据(如删除空行、合并列)。
设置自动刷新计划(通过“连接属性”)。
4、加载到 Excel 后,可设置“定时刷新”(需保存为 .xlsx 文件并部署到 SharePoint 或 Power BI)。
步骤 3:VBA 自动化(高级场景)
通过 Excel VBA 脚本直接操作数据库:
vba
Sub ConnectToSQL()
Dim conn As Object
Set conn = CreateObject(ADODB.Connection)
conn.Open Provider=SQLOLEDB;Data Source=YourServer;Initial Catalog=YourDB;User ID=username;Password=password;
Dim rs As Object
Set rs = CreateObject(ADODB.Recordset)
rs.Open SELECT * FROM Orders, conn
Sheets(Data).Range(A1).CopyFromRecordset rs
rs.Close: conn.Close
End Sub
替代方案推荐
| 需求 | 推荐工具 | 优势 |
|
| 轻量级数据库 | Microsoft Access + Excel | 适合部门级应用,但上限 2GB |
| 企业级数据库 | SQL Server Express(免费版) | 支持 10GB 数据库,集成 Excel 无缝 |
| 云数据库 | Azure SQL Database / AWS RDS | 自动扩展、高安全,Excel 通过 Power BI 连接 |
| 开源方案 | MySQL + MySQL for Excel 插件 | 免费,社区支持完善 |
五、最佳实践总结
1、不要将 Excel 作为数据库服务器:仅用于前端展示或临时处理,核心数据应存储在专业数据库中。
2、优先使用 Power Query:实现安全、可刷新的数据管道,避免手动复制粘贴。
3、定期迁移数据:对于历史 Excel 数据,使用 SQL Server Import and Export Wizard 导入数据库。
4、学习资源:
Microsoft 官方指南:[在 Excel 中连接到 SQL Server](https://learn.microsoft.com/zh-cn/sql/connect/oledb/ole-db-driver/using-excel-spreadsheets-as-a-data-source)
免费课程:LinkedIn Learning《Excel to SQL Server Integration》。