175 lines
3.8 KiB
Markdown
175 lines
3.8 KiB
Markdown
# Microsoft Excel Routing Reference
|
|
|
|
**App name:** `microsoft-excel`
|
|
**Base URL proxied:** `graph.microsoft.com`
|
|
|
|
## API Path Pattern
|
|
|
|
```
|
|
/microsoft-excel/v1.0/me/drive/items/{file-id}/workbook/{resource}
|
|
/microsoft-excel/v1.0/me/drive/root:/{path}:/workbook/{resource}
|
|
```
|
|
|
|
## Common Endpoints
|
|
|
|
### Drive Operations
|
|
|
|
#### Get Drive Info
|
|
```bash
|
|
GET /microsoft-excel/v1.0/me/drive
|
|
```
|
|
|
|
#### List Root Files
|
|
```bash
|
|
GET /microsoft-excel/v1.0/me/drive/root/children
|
|
```
|
|
|
|
#### Search Files
|
|
```bash
|
|
GET /microsoft-excel/v1.0/me/drive/root/search(q='.xlsx')
|
|
```
|
|
|
|
### Session Management
|
|
|
|
#### Create Session
|
|
```bash
|
|
POST /microsoft-excel/v1.0/me/drive/root:/{path}:/workbook/createSession
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"persistChanges": true
|
|
}
|
|
```
|
|
|
|
### Worksheet Operations
|
|
|
|
#### List Worksheets
|
|
```bash
|
|
GET /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets
|
|
```
|
|
|
|
#### Create Worksheet
|
|
```bash
|
|
POST /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"name": "NewSheet"
|
|
}
|
|
```
|
|
|
|
#### Delete Worksheet
|
|
```bash
|
|
DELETE /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets('{id}')
|
|
```
|
|
|
|
### Range Operations
|
|
|
|
#### Get Range
|
|
```bash
|
|
GET /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets('Sheet1')/range(address='A1:B2')
|
|
```
|
|
|
|
#### Update Range
|
|
```bash
|
|
PATCH /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets('Sheet1')/range(address='A1:B2')
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"values": [
|
|
["Value1", "Value2"],
|
|
[100, 200]
|
|
]
|
|
}
|
|
```
|
|
|
|
#### Get Used Range
|
|
```bash
|
|
GET /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets('Sheet1')/usedRange
|
|
```
|
|
|
|
### Table Operations
|
|
|
|
#### List Tables
|
|
```bash
|
|
GET /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets('Sheet1')/tables
|
|
```
|
|
|
|
#### Create Table
|
|
```bash
|
|
POST /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets('Sheet1')/tables/add
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"address": "A1:C4",
|
|
"hasHeaders": true
|
|
}
|
|
```
|
|
|
|
#### Get Table Rows
|
|
```bash
|
|
GET /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/tables('Table1')/rows
|
|
```
|
|
|
|
#### Add Table Row
|
|
```bash
|
|
POST /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/tables('Table1')/rows
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"values": [["Data1", "Data2", "Data3"]]
|
|
}
|
|
```
|
|
|
|
#### Delete Table Row
|
|
```bash
|
|
DELETE /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/tables('Table1')/rows/itemAt(index=0)
|
|
```
|
|
|
|
#### Get Table Columns
|
|
```bash
|
|
GET /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/tables('Table1')/columns
|
|
```
|
|
|
|
### Named Items
|
|
|
|
#### List Named Items
|
|
```bash
|
|
GET /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/names
|
|
```
|
|
|
|
### Charts
|
|
|
|
#### List Charts
|
|
```bash
|
|
GET /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets('Sheet1')/charts
|
|
```
|
|
|
|
#### Add Chart
|
|
```bash
|
|
POST /microsoft-excel/v1.0/me/drive/root:/workbook.xlsx:/workbook/worksheets('Sheet1')/charts/add
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"type": "ColumnClustered",
|
|
"sourceData": "A1:C4",
|
|
"seriesBy": "Auto"
|
|
}
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Only `.xlsx` files are supported (not legacy `.xls`)
|
|
- Use path-based access (`/drive/root:/{path}:`) or ID-based access (`/drive/items/{id}`)
|
|
- Table/worksheet IDs with `{` and `}` must be URL-encoded
|
|
- Sessions improve performance for multiple operations
|
|
- Sessions expire after ~5 minutes (persistent) or ~7 minutes (non-persistent)
|
|
- Range addresses use A1 notation
|
|
|
|
## Resources
|
|
|
|
- [Microsoft Graph Excel API](https://learn.microsoft.com/en-us/graph/api/resources/excel)
|
|
- [Excel Workbook Resource](https://learn.microsoft.com/en-us/graph/api/resources/workbook)
|
|
- [Excel Worksheet Resource](https://learn.microsoft.com/en-us/graph/api/resources/worksheet)
|
|
- [Excel Range Resource](https://learn.microsoft.com/en-us/graph/api/resources/range)
|