在報表開發(fā)過程中,為了保證信息準確無誤入庫, 我們經常會被要求對報表增加校驗以保證數(shù)據(jù)類型和格式的正確。比如:工資金額最多只允許包含兩位小數(shù)、郵政編碼必須是全數(shù)字組成的 6 位數(shù)且首位數(shù)字不能是 0 等等。面對多種多樣、層出不窮的校驗需求,如果都寫 js 來實現(xiàn)的話,那工作量真是…(你懂得),那么有沒有一款報表神器,能輕松搞定這些校驗呢?
10年積累的網站制作、成都網站設計經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站制作后付款的網站建設流程,更有鑲黃免費網站建設讓你可以放心的選擇與我們合作。
呵呵呵…
下面我就給大家推薦一下解救我的神器— 潤乾報表 ,此神器提供了強有力的校驗方法,例如通過設置單元格的數(shù)據(jù)類型、在填報單元格校驗或格間校驗里寫校驗公式、自定義有效性驗證腳本,等等。利用好這些手段,就能擺脫大量寫 js 的命運。
下面我們就 分類 說明一下,潤乾報表是怎么實現(xiàn)各種校驗的。
數(shù)據(jù)類型校驗 – 栗子 1:
要求:
工資錄入的數(shù)據(jù)必須是數(shù)值。
設置如下:
選中工資所在單元格 H3,右側屬性 -- 表達式 --
數(shù)據(jù)類型
,選擇數(shù)值型即可。
效果:
當工資輸入非數(shù)值時,單元格失去焦點后,便會彈出提示“請輸入數(shù)值!”,如下圖
單元格類型校驗 - 栗子 2:
這個栗子我們從多個較多進行分析講解:
角度 1:
要求在原來數(shù)據(jù)類型的基礎上,限定工資最多可錄入兩位小數(shù)。
設置如下:
菜單欄 中選擇 填報 –
單元格校驗
,新增單元格校驗表達式,其中,
表達式為:(/^\d{0,8}\.{0,1}(\d{1,2})?$/).test(H3)
意為:H3 單元格內容必須包含 0 ~ 8 位整數(shù),可帶 0 ~ 1 個小數(shù)點和 1 ~ 2 位小數(shù)
出錯提示為:工資金額,最多兩位小數(shù) 如下圖
效果:
當輸入工資金額小數(shù)多于兩位時,單元格失焦后,便會彈出預先指定提示信息,如下圖:
角度 2:
要求郵政編碼必須輸入 6 個數(shù)字組成的數(shù)值串且首位數(shù)值不能為 0 。
設置如下:
菜單欄 中選擇 填報 –
單元格校驗
,新增單元格校驗表達式,其中
表達式為:D5.toString().match(/^[1-9]\d{5}$/
意為:D5 單元格的字符串,首位必須是 1-9 之間的數(shù)字,其 5 位后隨意取 5 位數(shù)字。
出錯提示為:郵政編碼必須是首位不為 0 且長度需為 6 位的純數(shù)字 如下圖
效果:
當輸入郵政編碼輸入數(shù)值串為數(shù)超出 6 位且首位數(shù)字為 0 時,單元格失焦后,便會彈出預先指定提示信息,如下圖:
角度 3:
要求員工表中姓名列必須填寫,不能為空。
設置如下:
菜單欄 中選擇 填報 –
單元格校驗
,新增單元格校驗表達式,其中
表達式為:C3!=null&&C3!=""
出錯提示為:姓名不能為空! 如下圖
效果:
當管理員錄入員工信息忘記輸入姓名時,單元格失焦后,便會彈出預先指定提示信息,如下圖:
有效性校驗腳本 – 栗子 3:
要求:
篩選面板中選擇的截止日期不能早于起始日期,否則給出提示且不能進行查詢。
設置如下:
篩選面板 菜單欄 報表 報表屬性 其他選項卡,
有效性校驗腳本
中寫入方法,如下圖:
其中,startDate 為起始日期的 web 變量名,endDate 為截止日期的 web 變量名。
方法為:
if (getParamValue(“startDate”) > getParamValue(“endDate”)){
alert(“起始日期不能大于截止束日期!”);
return false;
}
return true;
效果:
當篩選面板中選擇的起始時間早于截止時間時,點擊查詢便會彈出提示,提醒用戶修改。如下圖
格間校驗 - 栗子 4:
要求:
報表組中的關聯(lián)項需要保持一致,或者計算后結果保持一致。例如:報表組中包含訂單表和訂單明細表,那么訂單明細表中所有產品的訂單金額總和就必須跟訂單表中的訂單金額保持一致,否則,給出錯誤提示不允許數(shù)據(jù)入庫。
設置如下:
報表組中 菜單欄 填報
格間校驗
,新增格間校驗表達式,其中
表達式為:訂單!H6== 訂單明細!G5
出錯提示為:訂單明細中總金額和訂單中金額不一致!
注:表達式中“訂單”和“訂單明細”分別代表報表組中訂單表和訂單明細表的 sheet 頁名稱,見下圖標注,H6 和 G5 分別對應訂單表和訂單明細表中的單元格,感嘆號為連接符
效果:
訂單明細中,所有產品金額總和為 1810,如下圖:
那么如果在訂單明細中輸入其他值,在提交保存時,就會給出錯誤提示。如下圖: