因政府、事業單位的正式檔案中的落款日期都是中文的。如:製作填報模板,使用了日期控制元件,希望在做填報時,將當前日期控制元件中選擇的日期值(FR中預設是yyyy-MM-dd的日期格式),能夠以中文的方式輸出顯示,然後再入庫,但入庫的資料還是預設的數值型的yyyy-MM-dd的日期格式。如何實現這麼個功能呢?下面我們就以自定義報表工具FineReport為平臺來詳細介紹一下。
工具/原料
自定義報表工具FineReport7.1.1
大小:148.2M 適用平臺:windows/linux
方法/步驟
通過字元轉化方式,將其轉化為中文輸出即可。
公式的使用說明
NUMTO(number,bool)或NUMTO(number):返回number的中文表示。其中bool用於選擇中文表示的方式,當沒有bool時,採用預設方式(false)顯示。
示例:NUMTO(2345,true)等於二三四五
示例:NUMTO(2345,false)等於二千三百四十五
示例:NUMTO(2345)等於二千三百四十五
效果展示
如:填報預覽,點選選擇日期後,按Enter鍵後的效果:
可檢視到是轉化為中文的日期方式輸出顯示的。
日期控制元件設定
如:在模板設計介面,右擊任意單元格,選擇控制元件設定,選擇日期控制元件,格式為yyyy-MM-dd。
公式形態設定
再右擊此單元格,選擇形態>公式形態,輸入公式:REPLACE(NUMTO(YEAR($$$),true),"零","〇")+"年"+NUMTO(MONTH($$$),false)+"月"+NUMTO(DAY($$$),false)+"日"
其中,REPLACE(NUMTO(YEAR($$$),true),"零","〇"),表示將其中輸出的中文的零替換為特殊字元〇。
REPLACE函式的具體使用,可參見文字函式中的REPLACE函式。
效果預覽
儲存模板後填報預覽,效果即如上。