"If it looks AI generated, it probably is"
-Buddha
A lightweight Office Add-in that integrates Google Gemini directly into Excel.
This repo can easily be extended to add support for OpenAI's ChatGPT and other LLMs, as well as Word, Powerpoint and other Office apps.
1. Generating a list of bank transactions to demo the AI in action
2. Prompting the AI to categorize the transactions
3. Summarizing the categories

- 🔌 Out-of-the-box support for Google Gemini. Feel free to open a PR to add ChatGPT or other LLMs.
- 📈 Natural language interaction with spreadsheet content.
- 🧠 Context-aware chat that understands and manipulates Excel data.
- 🧩 Modular architecture – extend functionality to Word, PowerPoint, and more.
- ⚙️ Built with React, TypeScript, and Office.js for a modern development experience.
Follow these steps to get started:
git clone https://github.com/menahishayan/MS-Office-AI
cd MS-Office-AI
Add your API key in a .env
file at the root level.
Then install dependencies:
npm install
The webpack bundler must be running the entire time you develop (for HMR reasons):
npm run dev-server
To install it on a local verion of Excel:
npm start
To test on a web version of Excel:
npm run start -- web --document {url}
Note: Ensure you have Office Add-in development tools installed and sideloading enabled in Excel.
Before you begin, make sure you have:
- Node.js installed on your system.
- Excel (desktop or web) with Office Add-ins enabled.
- An API key from Google Gemini.
- Select data or context from your Excel sheet.
- Interact with the AI panel by asking questions or requesting transformations.
- The AI can insert, replace, or update content directly in your spreadsheet.
The src/taskpane
folder contains the main source code for the task pane:
- components/: React components used in the task pane UI.
- App.tsx: Where the magic happens
- index.tsx: Entry point for rendering the React application.
- taskpane.ts: Contains Excel-related logic and event handlers.
- Add support for multiple LLMs (e.g., OpenAI's ChatGPT).
- Extend functionality to Word and PowerPoint.
- Display chat history in the UI
- ! Undo button
-
ContextWindowMemory
- Make prompt input multi-line
We welcome contributions! Here's how you can help:
- Add support for a new LLM or Office app.
- Suggest or implement new features.
- Report bugs or open issues.
To contribute:
- Fork the repository.
- Create a new branch for your feature or fix.
- Submit a pull request with a detailed description.