AI-powered Excel assistant powered by Anthropic's Claude
Features • Installation • Usage • Security • Contributing
An AI-powered Excel add-in that brings the power of Claude AI directly into your spreadsheets. Analyze data, generate formulas, format tables, and get intelligent assistance without leaving Excel.
[📸 Demo Screenshot Coming Soon]
Chat with Claude directly in Excel's sidebar • Context-aware assistance • Instant Excel tools
- 🤖 Natural Language Interface - Ask questions about your data in plain English
- 📊 Smart Data Analysis - Automatic analysis of selected cells and ranges
- ⚡ Quick Tools Menu - 17+ built-in Excel tools for common operations
- 🎨 Professional UI - Clean, modern interface matching Excel's design
- 🔒 Privacy First - Your API key stays local, data only sent to Anthropic
- 📝 Command Palette - Quick access to 18 pre-built prompts with
/commands - 🖼️ Image Support - Attach images and PDFs for analysis (up to 10 files)
- 💾 Context Aware - Automatically includes selected Excel data in conversations
- ⌨️ Keyboard Shortcuts - Fast navigation and actions
- 🛠️ Excel Tools - Format tables, freeze panes, sort data, insert rows/columns, and more
| Workflow | Steps |
|---|---|
| Analyze Data | 1. Select cells in Excel 2. Type /analyze or ask "What patterns do you see?"3. Get AI-powered insights |
| Generate Formula | 1. Select your data range 2. Type /formula or describe what you need3. Claude generates the formula |
| Format Table | 1. Select data range 2. Click ⋮ menu → "Format as Table" 3. Instant professional formatting |
| Clean Data | 1. Select messy data 2. Type /clean or describe issues3. Get cleanup suggestions |
| Stop Generation | Press the Stop button (appears during response) to cancel |
|
📈 Data Analysis
🧮 Formula Generation
|
🎨 Formatting & Styling
🔧 Data Operations
|
✅ No hardcoded API keys - You provide your own Anthropic API key ✅ Local storage only - API key stored in Office document settings (never sent to external servers) ✅ No tracking - No analytics, no telemetry, no data collection ✅ Direct API calls - Communication goes directly to Anthropic's API ✅ Open source - Full transparency, inspect the code yourself
Important: Your Anthropic API key is stored locally in Excel's document settings and is never transmitted to any server except Anthropic's official API (api.anthropic.com).
- Excel Desktop (Windows or macOS)
- Windows: Excel 2016 or later
- macOS: Excel 2016 or later
- Node.js 18+ and npm
- Anthropic API Key - Get one at console.anthropic.com
git clone https://github.com/heyimjames/excel-claude-sidebar.git
cd excel-claude-sidebarnpm installOffice Add-ins require HTTPS in development. Generate a self-signed certificate:
npx office-addin-dev-certs installThis creates a certificate in the .certs folder and installs it in your system's trust store.
npm run devThis starts:
- Vite dev server at
https://localhost:3000 - Hot module replacement (HMR) enabled
- Source maps for debugging
- Open Excel
- Go to Insert > Add-ins > My Add-ins
- Choose Add a Custom Add-in
- Select the
manifest.xmlfile from this project - Click OK
- Open Excel
- Go to Insert > Add-ins > My Add-ins
- Select SHARED FOLDER
- Browse to the folder containing
manifest.xml - Select the manifest and click Insert
When you first open the add-in:
- Click Show Claude in the Excel ribbon
- Enter your Anthropic API key
- Click Save API Key
Your key is saved locally in Excel's document settings.
- Select cells in Excel (optional - provides context)
- Type your question in the input box
- Press Enter to send
Type / in the input to open the command palette with 18 pre-built prompts:
| Command | Description |
|---|---|
/analyze |
Analyze selected data and provide insights |
/summarize |
Create a summary of the data |
/chart |
Get suggestions for chart types |
/format |
Apply formatting to cells |
/formula |
Generate Excel formulas |
/explain |
Explain patterns in the data |
/clean |
Clean up and normalize data |
/sort |
Sort data recommendations |
/filter |
Apply filtering suggestions |
/conditional |
Create conditional formatting rules |
/vlookup |
Generate VLOOKUP formulas |
/table |
Convert range to structured table |
/transpose |
Transpose rows and columns |
/duplicate |
Find and remove duplicates |
/calculate |
Perform calculations |
/validate |
Add data validation rules |
/merge |
Merge cells or data |
/pivot |
Create pivot table suggestions |
Click the three-dot menu in the header for instant Excel actions:
| Category | Tool | Description |
|---|---|---|
| Formatting | AutoFit Columns & Rows | Auto-fit all columns and rows to content |
| Format as Table | Convert selection to a table | |
| Clear Formatting | Remove all formatting from selection | |
| Insert/Delete | Insert Row Above | Insert new row above selection |
| Insert Column Left | Insert new column to the left | |
| Delete Selected Rows | Delete the selected rows | |
| Delete Selected Columns | Delete the selected columns | |
| Freeze Panes ✓ | Freeze Top Row | Keep top row visible when scrolling |
| Freeze First Column | Keep first column visible when scrolling | |
| Unfreeze Panes | Remove all freeze panes | |
| Sorting | Sort Ascending | Sort selection A to Z |
| Sort Descending | Sort selection Z to A | |
| Navigation | Select All Data | Select all used cells in worksheet |
| Go to Cell A1 | Jump to the top-left cell |
✓ = Toggleable tools show an orange checkmark when active
Attach images or PDFs for Claude to analyze:
- Click the 📎 paperclip icon to upload files
- Or drag and drop files into the input area
- Or paste images from clipboard (Cmd/Ctrl + V)
- Supports: JPEG, PNG, GIF, WebP, PDF
- Max 10 files per message, 5MB per image, 10MB per PDF
| Shortcut (Mac) | Shortcut (Windows) | Action |
|---|---|---|
⌘K |
Ctrl+K |
Focus message input |
⌘L |
Ctrl+L |
Clear chat history |
⇧? |
Shift+? |
Show keyboard shortcuts |
Enter |
Enter |
Send message |
Shift+Enter |
Shift+Enter |
New line in message |
/ |
/ |
Open command palette |
Esc |
Esc |
Clear input or close palette |
excel-claude-sidebar/
├── src/
│ └── taskpane/
│ ├── components/ # React components
│ │ ├── ChatInterface.tsx
│ │ ├── MessageInput.tsx
│ │ ├── Message.tsx
│ │ ├── Settings.tsx
│ │ ├── ToolsMenu.tsx
│ │ └── ...
│ ├── hooks/ # Custom React hooks
│ │ ├── useClaudeChat.ts
│ │ ├── useExcelContext.ts
│ │ └── ...
│ ├── lib/ # Utilities & types
│ │ ├── anthropic.ts
│ │ ├── commands.ts
│ │ └── types.ts
│ ├── styles/ # CSS files
│ └── App.tsx # Main app component
├── assets/ # Icons and images
├── manifest.xml # Office Add-in manifest
├── vite.config.ts # Vite configuration
└── package.json
npm run dev # Start dev server with HMR
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint
npm run type-check # TypeScript type checking
npm run clean # Remove dist folderCreate a .env file for development (optional):
# Development only - for testing without Office
VITE_ANTHROPIC_API_KEY=your_api_key_hereNote: In production, API keys are entered by users via the Settings UI and stored in Office document settings.
If you see certificate warnings:
# Reinstall certificate
npx office-addin-dev-certs install --force- Check dev server is running (
npm run dev) - Verify HTTPS certificate is trusted
- Clear Office cache:
- macOS:
~/Library/Containers/com.microsoft.Excel/Data/Documents/wef - Windows:
%LOCALAPPDATA%\Microsoft\Office\16.0\Wef
- macOS:
- Restart Excel
API keys are stored in Office document settings. If not saving:
- Make sure you have write permissions for the Excel file
- Try saving the Excel file first
- Re-enter the API key in Settings
If Excel context isn't being captured:
- Select cells before sending message
- Check Console for errors (F12 in Excel)
- Try refreshing the add-in
This add-in uses Anthropic's Claude API. You're responsible for your own API usage and costs:
- API calls are billed by Anthropic based on token usage
- See Anthropic Pricing for current rates
- Monitor usage in your Anthropic Console
Contributions welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Test thoroughly
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Built by
Design by
MIT License - see LICENSE file for details
- 🐛 Issues: GitHub Issues
- 💬 Questions: GitHub Discussions
- 🐦 Updates: Follow @jamesfrewin1
Disclaimer: This is an unofficial third-party add-in. Not affiliated with Microsoft or Anthropic. Use at your own risk.