Claude Skill MartBrowse skillsWhat is a Skill?
Back to list

Excel Automation

Create polished Excel reports, crack open complex xlsm financial models that openpyxl chokes on, and drive Excel windows on macOS via AppleScript.

Docs & OfficeIntermediate1,323212AI score 9/10Last updated: Aug 8, 2026

What it does

Splits Excel work into three lanes and picks the right tool for each.

  • Create: Builds reports with openpyxl using investment-banking color conventions (blue = hardcoded input, black = formula, green = cross-sheet link), number format codes ($#,##0, 0.0%, 0.0x), and color-scale conditional formatting for sensitivity tables.
  • Parse: When openpyxl hangs or fails on >1MB workbooks, VBA-laden .xlsm files, or broker-supplied financial models, it drops to stdlib zipfile + xml.etree to resolve sheet names through workbook.xml.rels, extract cell values via the sharedStrings lookup, and strip corrupted definedName entries ("Formula removed") to repair the file.
  • Control: On macOS, osascript commands activate Excel, set zoom, scroll to a row/column, select ranges, and switch sheets — always wrapped in timeout so a non-responsive Excel never blocks your session.

A tool-selection decision tree and a "common mistakes" table (e.g., never trust the file extension — run file <path> first) make it unusually practical.

Who it's for

  • Financial analysts and finance teams working with DCF/valuation models
  • Data engineers blocked by xlsm files that openpyxl refuses to load
  • Office workers rebuilding the same formatted report every month
  • Anyone automating Excel screenshots or demos on macOS

Examples

  1. "Turn this revenue data into a monthly report with dark-blue header bands and blue-font assumption cells" → a fully formatted xlsx in one pass.
  2. "This 3MB model.xlsm from the bank won't open in openpyxl — pull the DCF sheet" → lists sheets via zipfile+XML, then extracts the cell grid.
  3. "Open Excel, jump to the DCF tab, scroll to row 45, and take a screenshot" → chained AppleScript with render delays and timeout guards.

· · · Install guide · · ·

Install in the Claude app (no terminal)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Download ZIP
Install in Claude Code

Let Claude do it — paste this into Claude Code

Install the skill I found on Claude Skill Mart.
Copy the excel-automation folder from the GitHub repo daymade/claude-code-skills into my ~/.claude/skills/excel-automation/.
When it's done, tell me in one line what this skill can do.

Install with a command instead

git clone https://github.com/daymade/claude-code-skills.git && mkdir -p ~/.claude/skills && cp -r claude-code-skills/excel-automation ~/.claude/skills/

This is a third-party skill. Check the source repository before installing.

  1. Open your terminal.
  2. Clone the skills repository:
    git clone https://github.com/daymade/claude-code-skills.git
    
  3. Create the Claude Code skills folder and copy this skill in:
    mkdir -p ~/.claude/skills
    cp -r claude-code-skills/excel-automation ~/.claude/skills/
    
  4. Install uv, the Python runner the scripts rely on (uv run --with openpyxl):
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  5. (Optional) For the window-control features you need macOS with Microsoft Excel installed, and you must grant Terminal automation access under System Settings > Privacy & Security > Automation.
  6. Restart Claude Code, then just ask it to "build an Excel report" or "parse this xlsm" and the skill triggers automatically.