数据格式

教学视频

目录

概述

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/FormatHelperExcelBuilder):

  1. 参与 Excel 数字格式的类型datecurrencynumbercustom 四种类型会被写入 Excel 的 DataFormattext 类型在 Excel 导出时不应用数字格式(按原文本值输出)。

  2. 前缀/后缀与数字格式分离:Excel 的自定义数字格式不支持在数字格式串前后直接包含普通文本(如货币符号、单位),因此导出时把格式化字符串拆分为 前缀(prefix)数字格式(format)后缀(suffix) 三段,前缀与后缀用双引号包裹,例如 ¥ #,### 元 会被转换为 "¥ "#,###" 元"。若前缀或后缀本身含有引号字符(如英寸符号 1"),会被自动转义为两个引号(""),避免 Excel 格式串损坏。

  3. 整数值自动去掉小数位:当单元格实际展示值不含小数点(如整数 267109),而数字格式段含有 .#(且小数点后只由 # 组成,如 #.###.## %)时,导出会移除小数部分的 #,避免 Excel 强制把整数显示为 .00。但若格式含定长小数位 0(如 #.00),则不会移除,整数仍按定长格式显示(如 267109.00)。

  4. 定长小数保留末尾零:当类型为 number 且格式化字符串含 0(如 #,##0.00)时,写入 Excel 的数值会保留末尾的 0,不会被 strip 成整数或省略尾随零,确保导出样式与设计一致。

  5. 未配置模式时的日期默认格式:当类型为 date 且未配置格式化字符串时,导出会自动套用默认模式——日期为 yyyy-MM-dd、日期时间为 yyyy-MM-dd hh:mm:ss(仅对真实的日期/时间值生效,不会影响其它类型)。

提示:上述处理仅影响 Excel 导出侧的呈现,不会改变 Web 预览或其它导出格式(PDF/Word/CSV)中按原始格式化字符串的显示效果。

results matching ""

    No results matching ""