数字格式
Facade API | 可付费升级 | 需要 Univer 服务端 | Univer on Node.js | Preset |
---|---|---|---|---|
✅ | - | - | ✅ | UniverSheetsCorePreset |
数字格式插件提供了对单元格中数字的格式化功能,包括数字的小数位数、千分位分隔符、货币符号等。
🚨
不支持 DBNum 语法
使用方法
UI 界面中,可以通过菜单栏设置单元格的数字格式。或者在单元格数据 ICellData
对象中设置 s.n.pattern
字段。
{
v: 123456.789,
s: {
n: {
pattern: '#,##0.00'
}
}
}
Facade API
设置数字格式 0.5.2+
univerAPI.getHooks().onRendered(() => {
const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
// get range
const range = sheet.getRange(0, 0, 10, 10); // A1:J10
// 具体参数请参考 https://support.microsoft.com/zh-cn/office/%E6%95%B0%E5%AD%97%E6%A0%BC%E5%BC%8F%E4%BB%A3%E7%A0%81-5026bbd6-04bc-48cd-bf33-80f18b4eae68
range.setNumberFormat('#,###');
})
常见问题
关于单元格输入带有0开头或可转换为日期格式的数字时,不想被默认转换
可将单元格格式设置为文本格式,或在输入数字前加上单引号 '
(强制文本)。
ICellData
对象中设置 s.n.pattern
:
import { DEFAULT_TEXT_FORMAT } from '@univerjs/engine-numfmt';
{
v: '012.0',
s: {
n: {
pattern: DEFAULT_TEXT_FORMAT // 文本格式
}
}
}
univerAPI
设置单元格格式:
range.setNumberFormat(DEFAULT_TEXT_FORMAT);