2026-06-17 11:11:37 +08:00
---
description : Convert between Excel, OpenDocument, and CSV formats.
---
2026-07-11 13:01:55 +08:00
# Convert Spreadsheet {#convert-spreadsheet}
2026-06-17 11:11:37 +08:00
Convert spreadsheets between Excel (XLSX), OpenDocument Spreadsheet (ODS), and CSV formats. Multi-sheet workbooks export the first sheet when converting to CSV.
2026-07-11 13:01:55 +08:00
## API Endpoint {#api-endpoint}
2026-06-17 11:11:37 +08:00
2026-06-21 00:12:59 +08:00
`POST /api/v1/tools/files/convert-spreadsheet`
2026-06-17 11:11:37 +08:00
Accepts multipart form data with an Excel/ODS/CSV file and a JSON `settings` field.
2026-07-11 13:01:55 +08:00
## Parameters {#parameters}
2026-06-17 11:11:37 +08:00
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| format | string | Yes | - | Output format: `xlsx` , `ods` , `csv` |
2026-07-11 13:01:55 +08:00
## Example Request {#example-request}
2026-06-17 11:11:37 +08:00
```bash
2026-06-21 00:12:59 +08:00
curl -X POST http://localhost:1349/api/v1/tools/files/convert-spreadsheet \
2026-06-17 11:11:37 +08:00
-H "Authorization: Bearer si_your-api-key" \
-F "file=@data.xlsx" \
-F 'settings={"format": "csv"}'
```
2026-07-11 13:01:55 +08:00
## Example Response {#example-response}
2026-06-17 11:11:37 +08:00
Returns `202 Accepted` . Track progress via SSE at `/api/v1/jobs/{jobId}/progress` .
```json
{
"jobId" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
"async" : true
}
```
2026-07-11 13:01:55 +08:00
## Notes {#notes}
2026-06-17 11:11:37 +08:00
- Accepted input formats: `.xlsx` , `.xls` , `.ods` , `.csv` .
- When converting a multi-sheet workbook to CSV, only the first sheet is exported.
- Formulas are evaluated and exported as static values in CSV output.
- The output format must differ from the input format.