# Tableau

- Human documentation: [https://docs.univer.ai/fr-FR/guides/docs/features/table](https://docs.univer.ai/fr-FR/guides/docs/features/table)

- Agent Markdown: [https://docs.univer.ai/fr-FR/guides/docs/features/table.md](https://docs.univer.ai/fr-FR/guides/docs/features/table.md)

- Requested language: `fr-FR`

- Content language: `fr-FR`

- Documentation version: `1.2.0`

- Source: [docs/features/table.fr-FR.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/docs/features/table.fr-FR.mdx)

---

#### Package metadata

```json
{
  "mobile": true,
  "plugins": [
    {
      "client": "@univerjs-pro/docs-table",
      "facade": "@univerjs-pro/docs-table/facade"
    },
    {
      "client": "@univerjs-pro/docs-table-ui",
      "locale": "@univerjs-pro/docs-table-ui/locale/fr-FR",
      "style": "@univerjs-pro/docs-table-ui/lib/index.css"
    }
  ],
  "license": true,
  "server": false
}
```

La fonctionnalité de tableaux avancés enrichit Univer Docs avec des outils complets de modification des tableaux, notamment la mise en forme des cellules, la personnalisation des bordures, la manipulation des lignes et des colonnes et l’insertion de données.

## Introduction

Dans Univer Docs, les tableaux avancés vous permettent de :

* **Insérer des tableaux par programmation** : créez des tableaux aux dimensions définies.
* **Modifier la structure** : ajoutez, supprimez et déplacez des lignes et des colonnes.
* **Mettre en forme les cellules** : appliquez des bordures, des arrière-plans et une mise en forme du texte.
* **Fusionner et fractionner des cellules** : combinez des cellules pour créer des mises en page complexes.

## Mode plugin

### Installation

#### npm

```bash
npm install @univerjs-pro/docs-table @univerjs-pro/docs-table-ui
```

#### pnpm

```bash
pnpm add @univerjs-pro/docs-table @univerjs-pro/docs-table-ui
```

#### yarn

```bash
yarn add @univerjs-pro/docs-table @univerjs-pro/docs-table-ui
```

#### bun

```bash
bun add @univerjs-pro/docs-table @univerjs-pro/docs-table-ui
```

### Utilisation

```typescript
import { UniverDocsTablePlugin } from '@univerjs-pro/docs-table' // [!code ++]
import { UniverDocsTableUIPlugin } from '@univerjs-pro/docs-table-ui' // [!code ++]
import DocsTableUIEnUS from '@univerjs-pro/docs-table-ui/locale/en-US' // [!code ++]
import { LocaleType, mergeLocales, Univer } from '@univerjs/core'
import '@univerjs-pro/docs-table-ui/lib/index.css' // [!code ++]

const univer = new Univer({
  locale: LocaleType.EN_US,
  locales: {
    [LocaleType.EN_US]: mergeLocales(
      DocsTableUIEnUS, // [!code ++]
    ),
  },
})

univer.registerPlugin(UniverDocsTablePlugin) // [!code ++]
univer.registerPlugin(UniverDocsTableUIPlugin) // [!code ++]
```

Si vous disposez d’une licence commerciale Univer, consultez la page [Utiliser une licence côté client](https://docs.univer.ai/fr-FR/server/license.md#in-plugin-mode) pour savoir comment la configurer.

## Prise en charge mobile

Configurez d’abord l’[éditeur mobile](https://docs.univer.ai/fr-FR/guides/docs/getting-started/installation.md#mobile-support). Dans l’initialisation en mode plugin de cette page, remplacez les inscriptions de bureau ci-dessous par les exports mobiles des mêmes paquets **avant d’ouvrir un document**. Conservez modèles, styles, traductions et imports Facade ; n’enregistrez pas les deux variantes.

| Paquet                        | Inscription de bureau     | Inscription mobile              |
| ----------------------------- | ------------------------- | ------------------------------- |
| `@univerjs-pro/docs-table-ui` | `UniverDocsTableUIPlugin` | `UniverDocsTableMobileUIPlugin` |

## API Facade

Veillez à importer la facade avant d’utiliser l’API :

```typescript
import '@univerjs-pro/docs-table/facade'
```

### Insérer un tableau

```typescript
const doc = univerAPI.getActiveDocument()
const table = doc?.insertTable(3, 4, { tableId: 'my-table' })
table?.setCellText(0, 0, 'Name')
```

### Insérer un tableau à partir de données

```typescript
const doc = univerAPI.getActiveDocument()
doc?.insertTableFromData([
  ['Name', 'Status'],
  ['Facade', 'Ready'],
], { headerRowCount: 1 })
```

### Obtenir tous les tableaux

```typescript
const doc = univerAPI.getActiveDocument()
const tables = doc?.getTables() ?? []
```

### Supprimer un tableau

```typescript
const doc = univerAPI.getActiveDocument()
doc?.deleteTable('my-table')
```

## Bordures de tableau

Sélectionnez un tableau ou ses cellules pour ouvrir l’onglet contextuel Tableau. Le sélecteur propose toutes les bordures, les bordures extérieures, intérieures, individuelles ou aucune, ainsi que leur couleur, épaisseur et style. Ces contrôles sont fournis par `UniverDocsTableUIPlugin`.

## Édition, historique et collaboration

Les setters et modifications structurelles des tables passent par des commandes avec annuler/rétablir et collaboration. `setTableStyle()` regroupe fond et bordure en une entrée d’historique. `setColumnType()` est aussi annulable et synchronisé ; les types suivent les colonnes déplacées. `setCellText()` remplace la valeur complète : les remplacements simultanés utilisent une résolution atomique, tandis que les éditions de caractères utilisent l’OT texte. Une modification refusée par un contrôle de contenu verrouillé renvoie `false` sans consommer l’historique.
