# Style par défaut

- Human documentation: [https://docs.univer.ai/fr-FR/guides/sheets/features/core/default-style](https://docs.univer.ai/fr-FR/guides/sheets/features/core/default-style)

- Agent Markdown: [https://docs.univer.ai/fr-FR/guides/sheets/features/core/default-style.md](https://docs.univer.ai/fr-FR/guides/sheets/features/core/default-style.md)

- Requested language: `fr-FR`

- Content language: `fr-FR`

- Documentation version: `1.2.0`

- Source: [sheets/features/core/default-style.fr-FR.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/sheets/features/core/default-style.fr-FR.mdx)

---

Nous proposons deux niveaux de styles par défaut :

1. Le style par défaut de la feuille de calcul
2. Le style par défaut d’une colonne ou d’une ligne

Tous deux peuvent être définis au moyen de l’interface [`IWorksheetData`](https://docs.univer.ai/fr-FR/reference/types/worksheet-data.md) ou de l’API Facade.



## Configuration

Par défaut, le style de colonne est prioritaire sur le style de ligne. Vous pouvez modifier ce comportement en définissant `isRowStylePrecedeColumnStyle` lors de l’enregistrement.

Choisissez votre mode et ajoutez ces options à votre initialisation existante. Conservez les autres plugins et les paramètres de langue, de thème et de conteneur ; ne réenregistrez pas le même plugin.

#### Mode plugin

```typescript
import { UniverSheetsPlugin } from '@univerjs/sheets'

univer.registerPlugin(UniverSheetsPlugin, {
  isRowStylePrecedeColumnStyle: true,
})
```

#### Mode prédéfini

```typescript
import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'
import { createUniver } from '@univerjs/presets'

const { univerAPI } = createUniver({
  presets: [
    UniverSheetsCorePreset({
      sheets: {
        isRowStylePrecedeColumnStyle: true,
      },
    }),
  ],
})
```

## Définir le style par défaut

Il existe deux façons de définir le style par défaut d’une feuille de calcul :

1. Au moyen de l’interface [`IWorksheetData`](https://docs.univer.ai/fr-FR/reference/types/worksheet-data.md)

```typescript
interface IWorksheetData {
  // other
  /**
   * @property {Nullable<IStyleData>} [defaultStyle] - Default style data of Worksheet.
   */
  defaultStyle?: Nullable<IStyleData>
}

interface IRowData {
  // other
  /**
   * style data
   */
  s?: Nullable<IStyleData>
}

interface IColumnData {
  // other
  /**
   * style data
   */
  s?: Nullable<IStyleData>
}
```

2. Au moyen de l’API Facade

```typescript
const fworkbook = univerAPI.getActiveWorkbook()
const fworksheet = fworkbook.getActiveSheet()
const defaultStyle = {
  bg: {
    rgb: 'red',
  },
}
const defaultColumnStyle = {
  bg: {
    rgb: 'blue',
  },
}
const defaultRowStyle = {
  bg: {
    rgb: 'green',
  },
}

// set default style
fworksheet.setDefaultStyle(defaultStyle)
// set column D default style
fworksheet.setColumnDefaultStyle(3, defaultColumnStyle)
// reset column D the default style
fworksheet.setColumnDefaultStyle(3, undefined)

// set row default style
fworksheet.setRowDefaultStyle(1, defaultRowStyle)
```

## Réduire le texte pour l’ajuster

Lorsque le texte est plus large que la cellule, utilisez `FRange` pour réduire la taille de la police. Ce réglage s’applique à toutes les cellules de la plage ; `getShrinkToFit()` lit l’état de la cellule en haut à gauche.

```ts
const range = univerAPI.getActiveWorkbook().getActiveSheet().getRange('A1:C3')

range.setShrinkToFit(true)
const enabled = range.getShrinkToFit()
```

La réduction du texte et le renvoi à la ligne sont mutuellement exclusifs. Activer le renvoi désactive la réduction ; activer la réduction supprime le renvoi déjà appliqué aux cellules.

## Espacement du texte des cellules

`textLineGap` ajoute un espacement en pixels entre les lignes du texte des cellules, y compris le texte enrichi et les éditeurs de cellule. Configurez-le à l’initialisation pour tous les classeurs de l’instance Univer. La valeur par défaut est `0` ; elle doit être finie et positive ou nulle.



#### Mode plugin

```ts
import { UniverSheetsPlugin } from '@univerjs/sheets'

univer.registerPlugin(UniverSheetsPlugin, { textLineGap: 6 })
```

#### Mode preset

```ts
import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'
import { createUniver } from '@univerjs/presets'

const { univerAPI } = createUniver({
  presets: [UniverSheetsCorePreset({ sheets: { textLineGap: 6 } })],
})
```

Augmenter cet espacement ne modifie pas les hauteurs existantes. Recalculez les hauteurs automatiques si nécessaire ; une hauteur fixe peut couper le texte. Ce réglage appartient à l’instance et non au style de paragraphe d’une cellule.
