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