add-excel
π Shared Instructions: shared-instructions.md - Cross-cutting concerns.
Add Excel Online
Workflow
- Check Memory Bank β 2. Gather β 3. Add Connector β 4. Configure β 5. Build β 6. Update Memory Bank
Step 1: Check Memory Bank
Check for memory-bank.md per shared-instructions.md.
Step 2: Gather
Ask the user:
- Where is the workbook? (OneDrive or SharePoint)
- Workbook file name
- Which table(s) in the workbook to access
Step 3: Add Connector
First, find the connection ID (see connector-reference.md):
Run the /list-connections skill. Find the Excel Online (Business) connection in the output. If none exists, direct the user to create one using the environment-specific Connections URL β construct it from the active environment ID in context (from power.config.json or a prior step): https://make.powerapps.com/environments/<environment-id>/connections β + New connection β search for the connector β Create.
Excel Online is a tabular datasource -- requires -c (connection ID), -d (drive), and -t (table name in workbook):
# OneDrive workbook
pwsh -NoProfile -Command "pac code add-data-source -a excelonlinebusiness -c <connection-id> -d 'me' -t 'Table1'"
# SharePoint workbook -- dataset is the document library path
pwsh -NoProfile -Command "pac code add-data-source -a excelonlinebusiness -c <connection-id> -d 'sites/your-site' -t 'Table1'"
Run for each table the user needs.
Step 4: Configure
AddRowIntoTable -- adds a row to an Excel table:
// OneDrive workbook
await ExcelOnlineBusinessService.AddRowIntoTable({
source: "me",
drive: "me",
file: "MyWorkbook.xlsx",
table: "Table1",
body: { column1: "value1", column2: "value2" } // Flat object, NO "items" wrapper
});
// SharePoint workbook
await ExcelOnlineBusinessService.AddRowIntoTable({
source: "sites/your-site",
drive: "drive-id",
file: "SharedWorkbook.xlsx",
table: "Table1",
body: { column1: "value1", column2: "value2" }
});
Key points:
source: "me"anddrive: "me"for OneDrive personal files- For SharePoint, use the site path and drive ID
- The
bodyis a flat key-value object matching column headers -- do NOT wrap in{ items: ... }
Use Grep to find specific methods in src/generated/services/ExcelOnlineBusinessService.ts (generated files can be very large -- see connector-reference.md).
Step 5: Build
npm run build
Fix TypeScript errors before proceeding. Do NOT deploy yet.
Step 6: Update Memory Bank
Update memory-bank.md with: connector added, workbook/table configured, build status.