Docs · Conversion
Excel XLSX to Markdown
Excel workbook → Markdown. One section per sheet, each rendered as a Markdown table.
POST
/v1/convert/xlsx-to-markdown Customer supplies the .xlsx file as base64. Each sheet becomes a Markdown section (## Customers, ## Q2 Revenue, …) followed by a Markdown table. The first row of each sheet is treated as the header. Empty rows are skipped; cell values are coerced to strings; pipes inside cells are escaped. Caps at max_rows_per_sheet (default 1000) — for larger sheets, work with raw CSV instead.
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| xlsx_base64 | string | yes | — | Base64-encoded .xlsx bytes. |
| max_rows_per_sheet | integer | no | 1000 | Cap per sheet. Range 1-10000. |
Request
curl -X POST https://api.qcrawl.com/v1/convert/xlsx-to-markdown \
-H "Authorization: Bearer osk_..." \
-d '{"xlsx_base64": "UEsDBBQABgAIA..."}' Response
{
"status": "success",
"markdown": "## Customers\n\n| name | city | signups |\n|---|---|---|\n| Alice | Bangalore | 1200 |...",
"byte_count": 312,
"sheet_count": 2,
"sheets": [
{"name": "Customers", "row_count": 4, "column_count": 3, "truncated": false},
{"name": "Q2 Revenue", "row_count": 4, "column_count": 3, "truncated": false}
]
} Errors
| Code | Meaning |
|---|---|
| 400 | invalid base64, empty body, or not a valid .xlsx. |