SimpleAdmin手摸手教學之:導入導出

一、說明

導入導出是系統中經常需要用到的功能,大部分系統的導入功能都是上傳一個excel文件,然後導入成功就提示導入成功,失敗就提示導入失敗,頂多返回一個導入結果的excel,非常的不直觀。如何設計一個優雅的導入讓用戶能非常直觀的在數據還沒導入進系統的時候看到有哪些數據是可以導入的,有哪些是會導入失敗的就很重要,本着以人爲本的原則,我開發了一個基於Magicodes.IE.Excel的批量導入組件,支持導入預覽,導入錯誤提示,分批導入等功能,非常好用,詳細代碼可以查看SimpleAdmin.Plugin.ImportExport插件。具體實現可以參考用戶管理功能

二、導入數據

新建一個Dto實體繼承ImportTemplateInput,這個實體是我們的導入模板實體。

構造函數注入IImportExportService

新建獲取模板方法,系統會根據傳入的dto類自動生成excel文件返回。

前端引用批量導入組件,參考用戶管理,點擊用戶導入按鈕,下載導入模板。

系統會自動下載excel模板文件

回到後端,用戶在模板中填入數據並上傳文件後,需要預覽導入的數據,系統要讀取excel文件並判斷用戶輸入的數據是否合法,一個是通過Magicodes.IE.Excel去判斷,還有一部分是根據業務自己去判斷。

後端讀取數據並校驗之後,返回預覽結果,支持到字段的錯誤提示,非常智能。並且可以在現有結果基礎上修改,根據提示修改爲正確的值。

前端點擊繼續按鈕,提示是否確認導入,點擊確定後開始導入數據。在後端,我們同樣的需要再檢查一遍數據格式是否正確,並通過GetImportResultPreview方法獲取導入結果。最後轉爲數據庫實體並插入數據庫。

導入結果返回給前端,可以看到導入數量,成功導入和導入失敗數量。

點擊查看錯誤按鈕可以查看哪些數據是錯誤的。

三、大數據導入

導入組件默認數據量小於1000的時候是全量導入,如果需要分批導入只需要設置導入組件的max-upload-count屬性即可。

四、數據導入

數據導出畢竟簡單,直接通過後臺導出當前查詢條件的所有數據,首先需要一個Dto配置導出的excel格式信息。

導出方法也很簡單,查詢數據,轉爲dto,導出excel文件。

點擊頁面導出按鈕,即可導出結果excel,詳情參考用戶管理頁面。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章