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

如何将SharePoint中的Microsoft Project文件转为可查询格式并自动化处理?

解决方案:自动化提取SharePoint中Project文件数据并生成自定义列表

一、解决Power Query读取单个Project文件无列的问题

Power Query无法识别Project文件列,核心是缺少对应驱动或连接方式错误,按以下步骤处理:

  • 安装Microsoft Project OLEDB驱动:
    下载与你的Excel位数(32/64位)匹配的驱动(如MS Project 2016 OLEDB驱动),安装后重启Excel。
  • 用OLEDB连接读取Project数据:
    1. 在Excel中打开Power Query编辑器,选择数据>获取数据>从其他来源>从OLEDB。
    2. 输入连接字符串(替换为你的文件路径):
      Provider=MSProject.OLEDB.16.0;Data Source=C:\Path\To\Your\File.mpp;
      
    3. 点击“确定”后,选择要加载的表(如Tasks、Resources或Assignments),即可看到完整列数据。

二、批量读取SharePoint文件夹中的Project文件

解决单个文件读取后,通过Power Query批量处理整个文件夹:

  1. 正确连接SharePoint文件夹:
    • 选择数据>获取数据>从SharePoint网站>从文件夹,输入完整的SharePoint站点URL(如https://yourtenant.sharepoint.com/sites/yourteam),选择目标文件夹。
    • 若仍出现NotFound错误:
      • 确认站点URL包含子站点路径(如果有),避免只填根站点。
      • 检查账号对该文件夹的读取权限,确保能访问文件夹内容。
  2. 创建自定义函数批量加载数据:
    • 在Power Query编辑器中,点击主页>新建源>空白查询,将其命名为fnLoadProjectData。
    • 打开高级编辑器,替换为以下代码(根据需要调整表名,比如改为Resources):
      (filePath as text) as table =>
      let
          Source = OleDb.DataSource("Provider=MSProject.OLEDB.16.0;Data Source=" & filePath, [Query="SELECT * FROM Tasks"]),
          #"Changed Type" = Table.TransformColumnTypes(Source,{{"Task Name", type text}, {"Start", type datetime}, {"Finish", type datetime}, {"Duration", type duration}})
      in
          #"Changed Type"
      
    • 返回文件夹文件列表,添加自定义列,调用fnLoadProjectData函数(参数选[Folder Path]&[Name])。
    • 展开自定义列,即可合并所有Project文件的任务数据。

三、全流程自动化(基于Power Automate Enterprise)

结合Power Automate实现无需手动干预的自动化流程:

  • 触发方式:选择定时触发(如每天凌晨)或当SharePoint文件夹有文件创建/修改时触发。
  • 核心步骤:
    1. 获取文件夹中的MPP文件:使用“列出文件夹中的文件”动作,指定SharePoint站点和文件夹路径,筛选文件扩展名等于.mpp。
    2. 批量读取Project数据:
      • 对每个文件,使用“运行Power Query脚本”动作,导入之前编写的批量读取Power Query代码,输出合并后的数据集。
      • 或使用“启动Microsoft Project”动作打开文件,通过“导出到Excel”动作将数据导出到临时工作簿(推荐用Power Query方式更高效)。
    3. 更新主列表:
      • 若目标是Excel主列表:使用“写入范围”动作,将合并数据覆盖或追加到主列表工作表。
      • 若目标是SharePoint自定义列表:使用“创建项”或“更新项”动作,直接将数据写入SharePoint列表(无需中转Excel)。
    4. 可选通知:添加“发送电子邮件(V2)”动作,向指定人员发送更新完成的通知。

关键注意事项

  • 确保Excel、Project和OLEDB驱动的位数一致(均为32位或64位),否则会出现驱动加载失败。
  • 若使用Power Automate,需确保账号对SharePoint文件夹、Project文件和目标列表有足够的读写权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 05:03:22