
Add Excel
Wire Excel Online (Business) into a Power Apps code app so the app can read or write tables in a OneDrive or SharePoint workbook.
Install
npx skills add https://github.com/microsoft/power-platform-skills --skill add-excelWhat is this skill?
- Six-step workflow: Memory Bank → Gather → Add Connector → Configure → Build → Update Memory Bank
- User-invocable skill with explicit Excel Online (Business) scope
- Gathers workbook location (OneDrive vs SharePoint), file name, and target table(s)
- Uses `/list-connections` to resolve connection ID or directs user to Power Apps Connections URL
- Shares cross-cutting rules via linked shared-instructions and connector-reference docs
Adoption & trust: 77 installs on skills.sh; 349 GitHub stars; 3/3 security scanners passed (skills.sh audits).
Recommended Skills
Agent Browservercel-labs/agent-browser
Lark Imlarksuite/cli
Lark Calendarlarksuite/cli
Lark Sheetslarksuite/cli
Lark Vclarksuite/cli
Lark Contactlarksuite/cli
Journey fit
Primary fit
Connector setup and data-source binding happen while building the Power Apps solution, before you ship test coverage or launch distribution. Excel Online is an external data connector—classic integrations work alongside other Power Platform connector skills.
Common Questions / FAQ
Is Add Excel safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Add Excel
**📋 Shared Instructions: [shared-instructions.md](${CLAUDE_PLUGIN_ROOT}/shared/shared-instructions.md)** - Cross-cutting concerns. # Add Excel Online ## Workflow 1. 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](${CLAUDE_PLUGIN_ROOT}/shared/shared-instructions.md). ### Step 2: Gather Ask the user: 1. Where is the workbook? (OneDrive or SharePoint) 2. Workbook file name 3. Which table(s) in the workbook to access ### Step 3: Add Connector **First, find the connection ID** (see [connector-reference.md](${CLAUDE_PLUGIN_ROOT}/shared/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): ```bash # OneDrive workbook npx power-apps add-data-source -a excelonlinebusiness -c <connection-id> -d 'me' -t 'Table1' # SharePoint workbook -- dataset is the document library path npx power-apps 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: ```typescript // 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"` and `drive: "me"` for OneDrive personal files - For SharePoint, use the site path and drive ID - The `body` is 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](${CLAUDE_PLUGIN_ROOT}/shared/connector-reference.md#inspecting-large-generated-files)). ### Step 5: Build ```bash 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.