Skip to content

Repository files navigation

Excel/VBA → Python Web Application Migration

Turn macro-enabled Excel workbooks (.xlsm) into a shareable web application — step by step, without losing business logic hidden in sheets, formulas, and VBA.

The project uses a Strangler Fig approach: extract and document the legacy file, validate with the owner, then migrate feature by feature in Python while Excel remains available until the web app is proven.

Primary deliverable: a logic analysis (specs/<workbook>_LOGIC_ANALYSIS.md) that links business meaning to technical behaviour.


Run the project

Prerequisites

  • Python 3.11+
  • A .xlsm test file in sample/ (local, not committed)

Install

pip install -r requirements.txt

Web app (default path)

python -m uvicorn web.server:app --reload --port 8501

Open http://localhost:8501 in Chrome or Edge (voice input on / and /annotate).

Step URL What you do
1 — File / Upload .xlsm, describe your context (voice or keyboard)
2 — Describe /annotate Explain each input, button, and control (🎤)
3 — Analysis /review Migration wishes, generate and download logic analysis (.md)

Session state is kept in the browser until you close the tab.

Docker

docker build -t excel-migration .
docker run -p 8501:8501 excel-migration

Tests

python -m pytest tests/ -v

Workflow (high level)

.xlsm  →  understand (web or CLI)  →  logic analysis  →  migrate in Python
Profile How Then
Web 3-step UI above Download .md from /review
CLI scripts/extract.pyscripts/generate_logic_agent.py Complete analysis in Cursor with @LOGIC_AGENT_PROMPT.md

Optional later: functional spec (generate_spec_agent.py, generate_spec.py).

Full commands, folder map, and agent platforms: docs/PROJECT_LAYOUT.md.


Further reading

Document Content
docs/PROJECT_LAYOUT.md Repository map — scripts/, src/, agents/, specs/, web/
docs/MIGRATION_GUIDE.md 8-phase migration methodology (extraction → decommission)
docs/VBA_REFERENCE.md VBA → Python reference (Phase 5 coding)
agents/definitions/ Agent roles (Logic Analyst, Spec Writer)
agents/platforms/ Run agents on Cursor, CLI, or web handoff

Local data (gitignored): workbooks in sample/, JSON in extractions/. Generated specs in specs/ when you validate a workbook.

About

Gather the knowledge of a Excel file, valid the workflows and create a web application for collaboration with others

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages