隨著ASP.NET Aries的普及,剛好也有點閑空,趕緊把Excel導入功能的教程補上。 Excel導入功能,分為四篇:單表配置(上)、多表高級配置(中)、配置規則(下)、代碼編寫(番外篇)。 本篇介紹單表配置功能。 ...
前言:
隨著ASP.NET Aries的普及,剛好也有點閑空,趕緊把Excel導入功能的教程補上。
Excel導入功能,分為四篇:單表配置(上)、多表高級配置(中)、配置規則(下)、代碼編寫(番外篇)。
本篇介紹單表配置功能。
1、配置表頭,把需要導入的勾打上。
對於格式化的配置(生成Excel模板時,也會變成下拉項,同時導入回來時,它也可以把下拉的中文翻譯回數值)
說明:
勾了三個,說明導入只導入三個。
其中勾選了唯一(鍵),則導入的數據會根據唯一鍵(存在則更新、不存在則插入)。
也可以勾選多個唯一鍵組成複合的(預設是:and關係)。
2、導出模板
在頁面點擊導出模板時,會根據勾選的導入選項,自動彈出自動生成的模板文件。
PS:如果一個導入選項都沒勾(除非配置了高級導入規則),則導入和導出模板兩個按鈕不會顯示。
說明:
導出的文件名,可以在配置維護項里修改,預設是系統根據規則(表名的描述、或菜單名字)生成的。
接下來、在模板里填寫數據然後導入即完成。
系統怎麼知道導入哪張表?
在列表頁: var dg = new AR.DataGrid("V_SYS_UserList", "Sys_User", "grid");
第二個參數即為表名:它決定了增刪改及導入的操作表名。
其它說明:
當然了,這裡情況下的示例導入當然還有點問題。
因為資料庫存的密碼是加密的,給用戶寫的密碼肯定是明文的,所以還缺少一個加密轉換。
這種情況,就需要補點代碼了:重寫導入前的方法,寫個迴圈,把密碼都轉換成密的數據,其它不變即可。
如果補代碼,可以看後面的番外代碼編寫篇。
導入的結果:
如果導入成功,則提示:
如果導入失敗,則提示異常,並彈出錯誤的Excel下載文件:
錯誤的Excel文件,會標註每一行的錯誤信息:
總結:
在配置表頭裡通過配置完成的任務,通常適合單表的導入,而且沒有複雜轉換。
如果是單表,又需要點複雜的轉換,如密碼的加密,就不是簡單的下拉翻譯能處理的情況時,則需補點代碼處理。
對於多表的複雜插入配置,請看下一篇。