Web SDK

Числовой формат

Числовой формат в электронных таблицах определяет, как отображаются числа. Он позволяет настраивать количество знаков после запятой, разделители разрядов, проценты, символы валют и другие параметры. Благодаря числовым форматам данные становятся более наглядными и понятными.

Действие валюты на панели инструментов выбирает символ и формат по свойству Univer region. Если оно не задано явно, region следует за locale:

TypeScript
const univer = new Univer({  locale: LocaleType.RU_RU,  region: LocaleType.DE_DE,})

Внимание

Синтаксис DBNum не поддерживается.

Форматы чисел

Измените число, формат или регион. Исходное число при этом не меняется.

Отображение

1,234.57

Исходное число: 1234.567

Попробуйте 0.25 в процентах или 45658 как дату.

Использование

В интерфейсе числовой формат ячейки можно задать через строку меню. Также можно установить поле s.n.pattern1 в объекте данных ячейки ICellData.

TypeScript
const data = {  v: 123456.789,  s: {    n: {      pattern: '#,##0.00',    },  },}

По умолчанию текст, начинающийся с 0, и числа, которые можно преобразовать в формат даты, автоматически получают соответствующий числовой формат.

Чтобы отключить автоматическое преобразование, воспользуйтесь одним из следующих способов:

  1. Задайте для ячейки текстовый формат.
TypeScript
import { DEFAULT_TEXT_FORMAT_EXCEL } from '@univerjs/core'const data = {  v: '012.0',  s: {    n: {      pattern: DEFAULT_TEXT_FORMAT_EXCEL, // Text format    },  },}

Или задайте формат ячейки с помощью Facade API:

TypeScript
fRange.setNumberFormat(DEFAULT_TEXT_FORMAT_EXCEL)
  1. Перед вводом числа добавьте одинарную кавычку ' (это называется принудительным преобразованием в текст).

Facade API

Импорт

Примечание о режиме плагинов

Импортировать пакет Facade вручную требуется только в режиме плагинов. В режиме предустановок соответствующий пакет Facade уже включён, поэтому дополнительный импорт не нужен.

TypeScript
import '@univerjs/sheets-numfmt/facade'

Установка числового формата

Описание параметров см. по адресу: https://support.microsoft.com/en-us/office/number-format-codes-5026bbd6-04bc-48cd-bf33-80f18b4eae68

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// Set the number format of the A1 cell to '#,##0.00'.const fRange = fWorksheet.getRange('A1')fRange.setValue(1234.567).setNumberFormat('#,##0.00')fRange.getDisplayValue() // 1,234.57
TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// Set the number formats of the A1:B2 range.const fRange = fWorksheet.getRange('A1:B2')fRange.setValues([  [1234.567, 0.1234],  [45658, 0.9876],]).setNumberFormats([  ['#,##0.00', '0.00%'],  ['yyyy-MM-DD', ''],])fRange.getDisplayValues() // [['1,234.57', '12.34%'], ['2025-01-01', 0.9876]]

Получение числового формата

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// Get the number format of the top-left cell of the A1:B2 range.const fRange = fWorksheet.getRange('A1:B2')fRange.getNumberFormat()
TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// Get the number formats of the A1:B2 range.const fRange = fWorksheet.getRange('A1:B2')fRange.getNumberFormats()

Установка локали числового формата

Локаль числового формата можно задать с помощью метода FWorkbook.setNumfmtLocal(local).

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()const fRange = fWorksheet.getRange('A1')fRange.setValue(1234.567).setNumberFormat('#,##0.00')// Set the locale en for number formatting.fWorkbook.setNumfmtLocal('en')fRange.getDisplayValue() // 1,234.57// Set the locale de for number formatting.fWorkbook.setNumfmtLocal('de')fRange.getDisplayValue() // 1.234,57

Отключение предупреждения и маркера текстового формата

Плагин UniverSheetsNumfmtPlugin предоставляет два параметра конфигурации — disableTextFormatAlert и disableTextFormatMark, которые отключают соответственно предупреждение и маркер текстового формата ячейки.

Выберите свой режим и добавьте эти параметры в существующую инициализацию. Сохраните остальные плагины, язык, тему и контейнер; не регистрируйте один плагин дважды.

TypeScript
import { UniverSheetsNumfmtPlugin } from '@univerjs/sheets-numfmt'univer.registerPlugin(UniverSheetsNumfmtPlugin, {  disableTextFormatAlert: true,  disableTextFormatMark: true,})

Локализованные форматы дат

Панель форматов даты использует текущую настройку locale Univer для шаблонов и предварительного просмотра. Существующие пользовательские форматы остаются доступны. При смене выделенного диапазона панель обновляется в соответствии с текущими ячейками.

Footnotes

  1. Числовой формат меняет отображение, но не сохранённое значение. Формат 0% показывает 0.25 как 25%, но формулы используют 0.25. ↩

Насколько полезно это руководство?

© 2026 DreamNum Co., Ltd.