# Slides Table

- Human documentation: [https://docs.univer.ai/reference/facade/slides-table](https://docs.univer.ai/reference/facade/slides-table)

- Agent Markdown: [https://docs.univer.ai/reference/facade/slides-table.md](https://docs.univer.ai/reference/facade/slides-table.md)

- Requested language: `en-US`

- Content language: `en-US`

- Documentation version: `1.0.0-rc.0`

- Source: [facade/slides-table.mdx](https://github.com/dream-num/documentation/blob/dev/content/reference/facade/slides-table.mdx)

---

| Packages | `@univerjs-pro/slides-table` |
| -------- | ---------------------------- |

Facade APIs for table elements in Univer Slides with Web SDK.

> Import `@univerjs-pro/slides-table/facade` before using these APIs in plugin mode.

`@univerjs-pro/slides-table-ui/facade` exports UI helper utilities for table editing. It does not add separate `FSlide` or `FSlideTable` methods.

## Overview

### FSlide

| Method                | Signature                                                                                          |
| --------------------- | -------------------------------------------------------------------------------------------------- |
| `newTable`            | `newTable(existing?: FSlideTable \| string): FSlideTableBuilder`                                   |
| `insertTable`         | `insertTable(tableInfo: ISlideTableBuilderInfo, index?: number): FSlideTable \| null`              |
| `insertTableFromData` | `insertTableFromData(values: string[][], options?: ICreateSlideTableOptions): FSlideTable \| null` |
| `getTables`           | `getTables(): FSlideTable[]`                                                                       |
| `getTableById`        | `getTableById(tableIdOrElementId: string): FSlideTable \| null`                                    |
| `getTableAt`          | `getTableAt(index: number): FSlideTable \| null`                                                   |
| `updateTable`         | `updateTable(tableInfo: ISlideTableBuilderInfo): FSlideTable`                                      |
| `removeTable`         | `removeTable(table: FSlideTable): boolean`                                                         |

### FSlideTable

| Category         | Methods                                                                                                                                                                                                                                          |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Metadata         | `getTableId`, `getTableData`, `describe`, `getRowCount`, `getColumnCount`, `toBuilder`                                                                                                                                                           |
| Cells and ranges | `getCell`, `getCellData`, `getCellText`, `getCellTextData`, `getCellStyle`, `getTableRange`, `getCellRange`, `getRowsRange`, `getColumnsRange`                                                                                                   |
| Rows and columns | `insertRowsBefore`, `insertRowsAfter`, `appendRows`, `deleteRows`, `insertColumnsBefore`, `insertColumnsAfter`, `appendColumns`, `deleteColumns`, `setRowHeight`, `setColumnWidth`, `resize`, `distributeRows`, `distributeColumns`              |
| Cell editing     | `setCellText`, `setCellTextData`, `setCellStyle`, `setCellFill`, `setCellBackground`, `clearCellBackground`, `setCellHorizontalAlign`, `setCellVerticalAlign`, `setCellTextDirection`, `setCellTextStyle`, `setCellTextColor`, `setCellTextFill` |
| Table editing    | `mergeCells`, `unmergeCell`, `remove`, `setTableBackground`, `setBorder`, `setTableBorder`, `setOptions`, `setTableStyle`, `setTableName`, `setTableDescription`, `setStyleId`, `setCustom`                                                      |

### FSlideTableCell

| Method               | Signature                                               |
| -------------------- | ------------------------------------------------------- |
| `getTable`           | `getTable(): FSlideTable`                               |
| `getRowIndex`        | `getRowIndex(): number`                                 |
| `getColumnIndex`     | `getColumnIndex(): number`                              |
| `getData`            | `getData(): ISlideTableCell \| null`                    |
| `getText`            | `getText(): string`                                     |
| `getTextData`        | `getTextData(): IDocumentData \| undefined`             |
| `getStyle`           | `getStyle(): ISlideTableCellStyle \| undefined`         |
| `setText`            | `setText(text: string): boolean`                        |
| `setTextData`        | `setTextData(textData: IDocumentData): boolean`         |
| `setStyle`           | `setStyle(style: ISlideTableCellStyle): boolean`        |
| `setFill`            | `setFill(fill?: ISlideTableFill): boolean`              |
| `setBackgroundColor` | `setBackgroundColor(color: string): boolean`            |
| `clearBackground`    | `clearBackground(): boolean`                            |
| `setBorder`          | `setBorder(border: ISlideTableBorder): boolean`         |
| `mergeTo`            | `mergeTo(rowSpan: number, columnSpan: number): boolean` |
| `unmerge`            | `unmerge(): boolean`                                    |

### FSlideTableBuilder

| Category            | Methods                                                                               |
| ------------------- | ------------------------------------------------------------------------------------- |
| Data and dimensions | `setValues`, `setTextData`, `setRows`, `setColumns`, `setRowHeight`, `setColumnWidth` |
| Layout              | `setAbsolutePosition`, `setSize`, `setRotation`, `setPlaceholder`                     |
| Style and metadata  | `setCellStyles`, `setOptions`, `setName`, `setDescription`, `setStyleId`, `setCustom` |
| Build               | `build`                                                                               |

### Enums

```typescript
// univerAPI.Enum from @univerjs-pro/slides-table/facade
SlideTableBorderDashEnum: typeof SlideTableBorderDashEnum
SlideTableFillTypeEnum: typeof SlideTableFillTypeEnum
SlideTableGradientFillTypeEnum: typeof SlideTableGradientFillTypeEnum
SlideTablePictureFillModeEnum: typeof SlideTablePictureFillModeEnum
SlideTableTextDirectionEnum: typeof SlideTableTextDirectionEnum
SlideTableVerticalAlignEnum: typeof SlideTableVerticalAlignEnum
```

## Examples

```ts
const presentation = univerAPI.getActivePresentation()
const slide = presentation?.getActiveSlide()

const table = slide?.insertTableFromData([
  ['Name', 'Score'],
  ['Ada', '100'],
])

table?.setCellText(1, 1, '98')
```

Source: 

`@univerjs-pro/slides-table`
