SuperAPI AI 工具集

add-excel

办公与效率

查看项目

更新于 10-15 16:28

技能介绍

用途

add-excel 是一个面向 Power Apps 代码应用的技能,用于将 Excel Online (Business) 连接器集成到应用中,从而实现对 OneDrive 或 SharePoint 中 Excel 工作簿数据的读取与写入。

工作流

该技能遵循以下步骤:

  1. 检查 Memory Bank:按照 shared-instructions.md 检查是否存在 memory-bank.md。
  2. 收集信息:向用户询问工作簿位置(OneDrive 或 SharePoint)、工作簿文件名,以及需要访问的工作簿中的表。
  3. 添加连接器:先查找连接 ID,运行 /list-connections 技能,在输出中查找 Excel Online (Business) 连接。若不存在,引导用户通过环境对应的 Connections URL 创建连接:https://make.powerapps.com/environments/<environment-id>/connections → + New connection → 搜索该连接器 → Create。Excel Online 是表格型数据源,添加数据源时需要提供 -c(连接 ID)、-d(drive)和 --table(工作簿中的表名)。
  4. 配置:使用 AddRowIntoTable 向 Excel 表添加行。
  5. 构建:运行 npm run build,并在继续之前修复 TypeScript 错误,暂不部署。
  6. 更新 Memory Bank:将已添加的连接器、已配置的工作簿/表以及构建状态更新到 memory-bank.md。

添加数据源命令

OneDrive 工作簿:

pa app add data-source --connector excelonlinebusiness -c <connection-id> -d 'me' --table 'Table1'

SharePoint 工作簿(dataset 为文档库路径):

pa app add data-source --connector excelonlinebusiness -c <connection-id> -d 'sites/your-site' --table 'Table1'

针对用户需要的每个表分别运行。

配置示例

OneDrive 工作簿:

await ExcelOnlineBusinessService.AddRowIntoTable({
  source: "me",
  drive: "me",
  file: "MyWorkbook.xlsx",
  table: "Table1",
  body: { column1: "value1", column2: "value2" } // Flat object, NO "items" wrapper
});

SharePoint 工作簿:

await ExcelOnlineBusinessService.AddRowIntoTable({
  source: "sites/your-site",
  drive: "drive-id",
  file: "SharedWorkbook.xlsx",
  table: "Table1",
  body: { column1: "value1", column2: "value2" }
});

关键要点

  • 对于 OneDrive 个人文件,source 和 drive 均使用 "me"。
  • 对于 SharePoint,使用站点路径和 drive ID。
  • body 是匹配列标题的扁平键值对象,不要包裹在 { items: ... } 中。
  • 使用 Grep 在 src/generated/services/ExcelOnlineBusinessService.ts 中查找特定方法(生成文件可能非常大)。

适用场景

当需要在 Power Apps 代码应用中读取或写入来自 OneDrive 或 SharePoint 的 Excel 工作簿数据时使用。

限制

该技能的具体收费、价格、平台支持范围及效果等事实暂未提供。