数据格式
教学视频
目录
概述
Bask Report 支持对单元格的数据做格式化处理,便于在展示层按习惯呈现日期、数字、货币等数据。你既可以使用系统默认提供的格式化字符串,也可以自行定义。
支持的数据类型
目前支持的格式化数据类型有:
- 日期类型
- 数字类型
- 货币类型
默认格式化字符串
日期格式化列表
| 格式化字符串 | 示例值 |
|---|---|
| yyyy-MM-dd | 2021-04-27 |
| yyyy/MM/dd | 2021/04/27 |
| yyyyMMdd | 20210427 |
| yyyy年MM月dd日 | 2021年04月27日 |
| yyyy-MM-dd HH:mm:ss | 2021-04-27 17:02:02 |
| yyyy/MM/dd HH:mm:ss | 2021/04/27 17:02:02 |
| yyyyMMdd HH:mm:ss | 20210427 17:02:02 |
| yyyy年MM月dd日 HH:mm:ss | 2021年04月27日 17:02:02 |
| yyyy年MM月dd日 HH时mm分ss秒 | 2021年04月27日 17时02分02秒 |
数字格式化列表
| 格式化字符串 | 示例值 |
|---|---|
| # | 267109 |
| #.## | 267109.09 |
| ,### | 267,109 |
| # % | 26710909% |
| #.## % | 26710908.88% |
| #.### | 267109.089 |
货币格式化列表
| 格式化字符串 | 示例值 |
|---|---|
| ¥ # | ¥278166 |
| ¥ #.## | ¥278166.12 |
| $ # | $ 278166 |
| $ #.## | $ 278166.12 |
| ¥ ,### | ¥278,166 |
| $ ,### | $ 278,166 |
| ¥ #,### 元 | ¥278,166 元 |
自定义格式化字符串
除了利用默认的格式化字符串,我们也可以自定义格式化字符串,例如可以在下拉框的编辑框中输入格式化字符串,例如数字:

格式参考:
.## 元
Excel 导出中的特殊处理
将数据格式导出为 Excel 时,Bask Report 会对格式化字符串做以下特殊处理(源码见 export/excel/builder/FormatHelper 与 ExcelBuilder):
参与 Excel 数字格式的类型:
date、currency、number、custom四种类型会被写入 Excel 的DataFormat;text类型在 Excel 导出时不应用数字格式(按原文本值输出)。前缀/后缀与数字格式分离:Excel 的自定义数字格式不支持在数字格式串前后直接包含普通文本(如货币符号、单位),因此导出时把格式化字符串拆分为
前缀(prefix)、数字格式(format)、后缀(suffix)三段,前缀与后缀用双引号包裹,例如¥ #,### 元会被转换为"¥ "#,###" 元"。若前缀或后缀本身含有引号字符(如英寸符号1"),会被自动转义为两个引号(""),避免 Excel 格式串损坏。整数值自动去掉小数位:当单元格实际展示值不含小数点(如整数
267109),而数字格式段含有.#(且小数点后只由#组成,如#.##、#.## %)时,导出会移除小数部分的#,避免 Excel 强制把整数显示为.00。但若格式含定长小数位0(如#.00),则不会移除,整数仍按定长格式显示(如267109.00)。定长小数保留末尾零:当类型为
number且格式化字符串含0(如#,##0.00)时,写入 Excel 的数值会保留末尾的0,不会被strip成整数或省略尾随零,确保导出样式与设计一致。未配置模式时的日期默认格式:当类型为
date且未配置格式化字符串时,导出会自动套用默认模式——日期为yyyy-MM-dd、日期时间为yyyy-MM-dd hh:mm:ss(仅对真实的日期/时间值生效,不会影响其它类型)。
提示:上述处理仅影响 Excel 导出侧的呈现,不会改变 Web 预览或其它导出格式(PDF/Word/CSV)中按原始格式化字符串的显示效果。