You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Power Query使用SQL查询Excel表格tblTransactions?

在Power Query中通过SQL操作Excel表格的方案

方法一:使用ODBC直接执行SQL查询(推荐)

这是直接在Power Query中输入SQL语句查询Excel表格的方式,无需VBA:

  1. 打开Power Query:点击Excel菜单栏的「数据」>「获取数据」>「从其他来源」>「从ODBC」
  2. 选择「连接字符串」选项,输入适配Excel的ODBC连接字符串(替换为你的文件实际路径):
    Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=C:\你的文件路径\ExcelData.xlsx;
    
  3. 点击「高级选项」,在弹出的输入框中填写你要执行的SQL语句,例如查询整个表格:
    SELECT * FROM tblTransactions
    

    注意:如果你的表格是普通工作表(而非Excel命名表格),需要将表名改为[工作表名$]格式,例如SELECT * FROM [Sheet1$]

  4. 点击「确定」,Power Query会自动执行SQL并返回查询结果,你可以进一步编辑或加载到Excel中。

方法二:导入表格后用M语言实现SQL逻辑(备选)

如果ODBC连接遇到问题,也可以先导入表格,再用Power Query的M语言实现类似SQL的操作:

  • 先通过「数据」>「获取数据」>「从文件」>「从Excel工作簿」导入ExcelData.xlsx中的tblTransactions表格
  • 在Power Query编辑器中,使用M语言函数模拟SQL操作:
    • 模拟SELECT *:直接保留导入的表格即可
    • 模拟WHERE筛选:使用Table.SelectRows函数,例如:
      Table.SelectRows(tblTransactions, each [TransactionDT] >= #date(2024,1,1))
      
    • 模拟GROUP BY聚合:使用Table.Group函数,例如:
      Table.Group(tblTransactions, {"TransactionOperator"}, {{"交易次数", each Table.RowCount(_), Int64.Type}})
      

常见问题解决

  • 文件无法访问:确保ExcelData.xlsx处于关闭状态,ODBC驱动无法访问打开的Excel文件
  • SQL语句报错:检查表名格式是否正确,ODBC Excel驱动的SQL语法需适配Excel,例如日期值需用#yyyy-mm-dd#包裹,字符串用单引号
  • 驱动找不到:如果提示缺少驱动,安装对应版本的Microsoft Access Database Engine(32/64位需与Excel一致)

内容的提问来源于stack exchange,提问作者Test Test

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 08:33:22