excel_from_markdown
Transforms Markdown tables into an Excel workbook. Each table becomes a separate sheet with formatted headers and auto-filters.
Instructions
Convert Markdown tables to an Excel workbook from inline content or markdown_file.
This is the primary tool for creating Excel workbooks from text content.
Parses GitHub Flavored Markdown content and extracts all tables.
Each table becomes a separate sheet in the workbook.
Features:
- Auto-detects multiple tables in the content using GFM parser
- Header row gets bold formatting with gray background
- Auto-filter on header row
- Column widths auto-sized based on content
- Numbers and percentages are coerced to numeric types
- Supports inline formatting in cells (bold, italic, code)
- Supports formulas when a cell starts with '='
- Uses nearby '##' headings to name sheets (up to 31 chars)
Example:
excel_from_markdown(
output_path="04. Artifacts/budget.xlsx",
markdown='''Category | Q1 | Q2 | Q3 | Q4 | Total |
Personnel | $50,000 | $52,000 | $54,000 | $56,000 | $212,000 |
Infrastructure | $15,000 | $15,000 | $16,000 | $16,000 | $62,000 |
Software | $8,000 | $8,500 | $9,000 | $9,500 | $35,000 |
Training | $5,000 | $3,000 | $4,000 | $3,000 | $15,000 |
Milestone | Target Date | Owner | Status |
Phase 1 Complete | 2026-03-31 | Alice | 100% |
Phase 2 Complete | 2026-06-30 | Bob | 45% |
Go-Live | 2026-09-30 | Carol | 0% |
''' |
)
Args:
output_path: Path for the output .xlsx file
markdown: GitHub Flavored Markdown content containing one or more tables (inline)
sheet_name: Optional sheet name for the first/only sheet
markdown_file: Optional path to a Markdown file. Use this for
very large inputs to avoid MCP argument-size limits.
Returns:
Status dictionary with file path and sheet count
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| output_path | Yes | Path for the output .xlsx file | |
| markdown | No | GitHub Flavored Markdown content containing one or more tables (inline) | |
| sheet_name | No | Optional sheet name for the first/only sheet | |
| markdown_file | No | Optional path to a Markdown file. Use this for very large inputs to avoid MCP argument-size limits. |