如何通过Azure SQL Database查询托管在SharePoint的Excel Online文档数据
需求可行性说明
你提的需求完全可实现,核心逻辑是将SharePoint上托管的Excel结构化数据与Azure的SQL查询能力打通,无需自定义复杂脚本,依托现有Azure服务即可完成配置,最终可直接在Azure Data Studio中编写SQL查询对应数据。
两种主流实现路径
路径1:定时同步到自建Azure SQL数据库(适合团队数据采集、固定查询场景)
该方案可以把Excel数据持久化存储到你正在搭建的自用Azure SQL中,查询性能稳定,适合做团队工作追踪数据的统一存储查询。
- 提前规范SharePoint上的Excel文件格式:为需要查询的表格区域设置命名区域,确保表头固定、无合并单元格、无杂乱空行,列数据类型统一
- 创建Azure Logic Apps工作流,触发规则可按需求选定时触发、或是Excel文件被修改时自动触发
- 工作流中先添加SharePoint连接器的
Get file content操作,完成企业授权后定位到你托管的Excel文件 - 新增
Parse Excel操作,选中提前设置好的表格命名区域,将文件内容解析为结构化数据集 - 最后添加Azure SQL连接器的
Execute SQL query操作,连接你自建的Azure SQL数据库,编写插入/更新语句把解析后的Excel数据写入指定表 - 配置完成后,直接在Azure Data Studio连接你的Azure SQL数据库,用常规SQL语法即可查询这部分Excel数据
路径2:通过Azure Synapse Serverless SQL直接查询(适合即席查询、无需持久化存储的场景)
该方案不需要提前把数据同步到Azure SQL,可直接对SharePoint上的Excel文件发起SQL查询,适合临时数据校验场景。
- 先在SharePoint中为目标Excel文件生成只读共享访问签名(SAS)令牌,确保服务可正常读取文件内容
- 打开Azure Synapse工作区,创建对应外部数据源,关联Excel的SharePoint访问地址和刚才生成的SAS令牌
- 定义外部表结构,字段名、字段类型和Excel表格的列一一对应,指定文件格式为Excel
- 在Azure Data Studio中连接Synapse Serverless SQL端点,直接用标准SQL查询该外部表即可,数据会实时从SharePoint的Excel文件拉取
注意事项
- 如果是为团队提供数据输入入口、收集团队工作追踪数据,优先选择路径1,同步延迟可自主配置,查询性能更稳定,也避免Excel文件格式误改导致查询失败
- 两种方案都需要你持有SharePoint站点的对应访问权限,以及Azure相关资源的配置权限
- 正式投入使用前建议先做小范围测试,确认Excel数据解析、同步/查询的准确性
内容的提问来源于stack exchange,提问作者GCale
相关产品推荐
相关产品推荐

