Стили по умолчанию
Предусмотрено два уровня стилей по умолчанию:
- Стиль листа по умолчанию
- Стиль столбца или строки по умолчанию
Оба уровня можно настроить через интерфейс IWorksheetData или Facade API.
Приоритет фона
B2 получает стили строки и столбца. Измените приоритет и добавьте собственный фон ячейки.
A1
Лист
B1
Столбец
C1
Лист
A2
Строка
B2
Столбец
C2
Строка
A3
Лист
B3
Столбец
C3
Лист
Источник стиля B2: Столбец
isRowStylePrecedeColumnStyle: false
Схема сравнивает фон; остальные свойства стиля объединяются независимо.
Настройка
По умолчанию стиль столбца имеет приоритет над стилем строки. Чтобы изменить это поведение, включите параметр isRowStylePrecedeColumnStyle при регистрации.
Выберите свой режим и добавьте эти параметры в существующую инициализацию. Сохраните остальные плагины, язык, тему и контейнер; не регистрируйте один плагин дважды.
import { UniverSheetsPlugin } from '@univerjs/sheets'univer.registerPlugin(UniverSheetsPlugin, { isRowStylePrecedeColumnStyle: true,})import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'import { createUniver } from '@univerjs/presets'const { univerAPI } = createUniver({ presets: [ UniverSheetsCorePreset({ sheets: { isRowStylePrecedeColumnStyle: true, }, }), ],})Установка стиля по умолчанию
Задать стиль листа по умолчанию можно двумя способами:
- Через интерфейс
IWorksheetData
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>}- Через Facade API
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 stylefworksheet.setDefaultStyle(defaultStyle)// set column D default stylefworksheet.setColumnDefaultStyle(3, defaultColumnStyle)// reset column D the default stylefworksheet.setColumnDefaultStyle(3, undefined)// set row default stylefworksheet.setRowDefaultStyle(1, defaultRowStyle)Сжатие текста по ширине ячейки
Если текст шире ячейки, уменьшите размер шрифта через FRange. Настройка применяется ко всем ячейкам диапазона, а getShrinkToFit() возвращает состояние верхней левой ячейки.
const range = univerAPI.getActiveWorkbook().getActiveSheet().getRange('A1:C3')range.setShrinkToFit(true)const enabled = range.getShrinkToFit()Уменьшение текста и перенос по строкам несовместимы. Включение переноса отключает уменьшение; включение уменьшения снимает перенос у ячеек, где он был задан.
Межстрочный интервал в ячейках
textLineGap добавляет интервал в пикселях между строками текста ячейки, включая форматированный текст и редактор ячейки. Задаётся при инициализации и действует для всех книг экземпляра Univer. По умолчанию 0; требуется конечное неотрицательное число.
Фиксированная высота
Автоподбор высоты
import { UniverSheetsPlugin } from '@univerjs/sheets'univer.registerPlugin(UniverSheetsPlugin, { textLineGap: 6 })import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'import { createUniver } from '@univerjs/presets'const { univerAPI } = createUniver({ presets: [UniverSheetsCorePreset({ sheets: { textLineGap: 6 } })],})Увеличение интервала не меняет существующую высоту строк. При необходимости пересчитайте автоматическую высоту; фиксированная высота может обрезать текст. Это настройка экземпляра, а не стиль абзаца отдельной ячейки.
Насколько полезно это руководство?