1. 概述编辑
1.1 版本
| 设计器版本 | 插件版本 | 功能变动 |
|---|---|---|
| 11.0 | V1.0 | - |
| V1.2 | 新增 TODATEPRO 函数,可传回当前日期对应的公历日期。 | |
| V1.3 | 部分适配多语言 |
1.2 应用场景
FineReport目前预设的函数无法很好地满足海外各区域地实际使用场景,为了让产品国际化实例更加全面、完善,新增本土化函式集合。
在本地函式优化集合 V1.2 中,针对已有公式 CNMONEY(传回金额大写)、LUNAR(传回当前日期对应的阴历时间)、FORMAT(传回object的format格式)、TODATEPRO(传回当前日期对应的公历时间)做了优化和功能扩展,应对不同地区的场景。效果如下图所示:

2. 插件介绍编辑
3. 函数说明编辑
3.1 ZHMONEY
实现 CNMONEY(返回金额大写)功能的同时,可以指定显示为简体或繁体。具体说明如下表所示。
| 函数名称 | |
|---|---|
| ZHMONEY(number, unit, locale) | |
| 参数 | 说明 |
number | 必填,同 CNMONEY 中的 number 需要转换的数值型的数字 |
unit | 选填,同 CNMONEY 中的 unit 单位 "s","b","q","w","sw","bw","qw","y","sy","by","qy","wy"分别代表“拾”,“佰”,“仟”,“万”,“拾万”,“佰万”,“仟万”,“亿”,“拾亿”,“佰亿”,“仟亿”,“万亿”。 注:单位(unit)可以为空,如果为空,则直接将 number 转换为人民币大写,否则先将 number 与单位的进位制相乘,然后再将相乘的结果转换为人民币大写。 |
locale | 选填,字符串类型的 locale 如:zh, zh_TW 注:这个函数仅支持“zh”和“zh_TW”,locale 可以为空,如果为空:
|
返回值 | |
若 locale 为 zh_TW,则返回繁体的大写数字。 如: ZHMONEY(1234567890000.31) 平台语言为繁体 → 壹萬貳仟叁佰肆拾伍億陸仟柒佰捌拾玖萬圓叁角壹分 ZHMONEY(3.4567,"wy", "zh_TW") → 叁兆肆仟伍佰陸拾柒億圓整 | |
3.2 ZHLUNAR
实现 LUNAR(传回当前日期对应的阴历时间),可以指定显示为简体或繁体。具体说明如下表所示。
| 函数名称 | ||
|---|---|---|
| ZHLUNAR(year, month, day, locale) | ||
参数 | 说明 | |
year | 必填,同 LUNAR 中的 year 年 | |
month | 必填,同 LUNAR 中的 month 月 | |
day | 必填,同 LUNAR 中的 day 日 | |
locale | 选填,字符串类型的 locale 如:zh, zh_TW 注:这个函数仅支持“zh”和“zh_TW”,locale 可以为空,如果为空:
| |
返回值 | ||
若 locale 为 zh_TW,则返回繁体的阴历日期,其他情况都返回简体的阴历日期。 ZHLUNAR(2020, 6, 4) → 庚子年闰四月十三 ZHLUNAR(2020, 6, 4, "zh_TW") → 庚子年閏四月十三 | ||
3.3 DATEFORMAT
DATAFORMAT 函数可以将 date 类型按照模式、区域、历法三个参数转换为 String。具体说明如下表所示。
| 函数名称 | ||
|---|---|---|
| DATEFORMAT(date, pattern, locale, chronology) | ||
参数 | 说明 | |
date | 必填,Date 类型的参数,可以通过 FR 中的 DATE 和 TIME 公式获取 | |
pattern | 必填,用于指定日期格式化后的样式 如: GGGGyyyy-MM-dd, EEEE, hh:mm:ssa 参考:https://help.gooddata.com/cloudconnect/manual/date-and-time-format.html | |
locale | 选填,字符串类型的 locale 如:“zh”表示“简体”,“zh_TW”表示“繁体”,“en_US”表示“英语”,“ja_JP”表示“日语”。 注:locale 可以为空,如果为空,显示平台语言对应的公历,此时 chronology 的设置不生效。 | |
chronology | 选填,指定历法 "j"表示日本年号,"m"表示台湾民国历,"t"表示泰国佛历 注:chronology 可以为空,如果为空,默认显示公历。 | |
返回值 | ||
| DATEFORMAT(TODAY(), "yyyy-MM-dd HH:mm:ss") → 2021-11-08 00:00:00 DATEFORMAT(TODAY(), "yyyy-MM-dd, EEEE", "zh_TW") → 2021-11-08, 星期一 DATEFORMAT(TODAY(), "yyyy-MM-dd, EEEE", "en_US") → 2021-11-08, Monday DATEFORMAT(TODAY(), "GGGGyy-MM-dd, EEEE", "ja_JP", "j") → 令和 03-11-08, 月曜日 注:需要保证 JDK 版本为 Oracle JDK 7u221, 8u211, 11.0.3 或 OpenJDK 7u221, 8u212-b03, 11.0.3+7 等版本之后才会正常显示“令和”年号。 DATEFORMAT(TODAY(), "GGyyy-MM-dd, EEEE", "zh_TW", "m") → 民國 110-11-08, 星期一 | ||
3.4 TODATEPRO
TODATEPRO 函式可以将民国历、日本年号及泰国佛历的日期转换为 yyyy-MM-dd 形式、date 格式的公历。具体说明如下表所示。
| 函式名称 | ||
|---|---|---|
| TODATEPRO(date, pattern, chronology, locale) | ||
参数 | 说明 | |
date | 需要被转换的日期物件,需要为字串格式 | |
pattern | 原日期物件的日期格式 | |
locale | 选填,locale表示语种 如:“zh”表示“简体”,“zh_TW”表示“繁体”,“en_US”表示“英语”,“ja_JP”表示“日语” 注:locale 可以为空,如果为空,默认取系统语言作为参数值 | |
chronology | 选填,指定历法。 "j"表示日本年号,"m"表示台湾民国历,"t"表示泰国佛历 | |
| 传回值 | ||
TODATEPRO("民國111-07-01", "GGyyy-MM-dd", "m", "zh_TW") -> 2022-07-01 TODATEPRO("平成21年12月01日, 火曜日", "Gy年MM月dd日, EEEE", "j", "ja_JP") -> 2009-12-01 TODATEPRO("2566/09/21", "yyyy/MM/dd", "t") -> 2023-09-21 | ||
4. 示例编辑
4.1 报表设计
| 函式 | 示例 |
|---|---|
=ZHMONEY(3.45,"w","zh_TW") | ![]() |
| =ZHLUNAR(2020, 6, 4, "zh_TW") | |
| =DATEFORMAT(TODAY(),"yyyy-MM-dd EEEE") | |
| =DATEFORMAT(TODAY(),"GGyyy-MM-dd, EEEE","zh_TW","m") | |
| =DATEFORMAT(TODAY(),"GGGGyy-MM-dd, EEEE","ja_JP","j") | |
| =DATEFORMAT(TODAY(),"yyyy-MM-dd, EEEE","en_US") | |
| =DATEFORMAT(TODAY(),"yyyy-MM-dd, EEEE","en_US","t") | |
| =TODATEPRO("民國112-11-15", "GGyyy-MM-dd", "m", "zh_TW") | |
| =TODATEPRO("平成35年11月15日, 水曜日", "Gy年MM月dd日, EEEE", "j", "ja_JP") | |
| =TODATEPRO("2566/11/15", "yyyy/MM/dd", "t") |
4.2 效果预览
点击保存,预览效果如下图所示:

5. 模板下载编辑
点击下载模板:本地化公式集合.cpt


