導出Excel表格和保存數據到數據庫

導出Excel表格和保存數據到數據庫
開發工具與關鍵技術:Visual Studio 2015 導出Excel表格和保存數據到數據庫
作者:袁何恩
撰寫時間:2019年5月16日
今天,我要和大家分享的技術是導出和保存Excel表格。
保存數據到數據庫和普通的數據的新增是一樣的,唯一不一樣的是一次性新增兩條數據,這和批量刪除性質一樣,一次性新增兩條數據,保存導入數據只不過是性質改變的新增。導出Excel表格不是直接從頁面獲取數據,就把數據導出Excel表格,而是獲取頁面的數據的篩選條件,再從數據庫中篩選出來,在控制器中設置表頭、表格名稱,自動添加行數,逐個數據的填入。
一、 保存導入的Excel表格數據到數據庫。
1、 首先,在視圖這裏寫上保存導入的Excel表格數據到數據庫的方法,打開加載層,這裏要寫入請求保存導入的數據的路徑,再等到控制器那邊處理完數據、保存成功Excel表格裏的數據,再關閉模態框和輸出提示,並刷新頁面。代碼如圖下顯示:
在這裏插入圖片描述
2、在控制器中寫入保存數據的方法,先new一個studentVo數據列表,再判斷在Session裏的數據表是否爲空,Session裏面的數據放進studentVo數據列表裏面,其實和普通的數據的保存一樣,然後判斷數據是否與數據庫中已有數據重複。代碼圖如下:
在這裏插入圖片描述
3、 然後在數據庫中新增數據庫的關係表,需要foreach循環一下,需要遍歷循環studentVo數據列表的listStudentVo列表對象,把數據一一條的那出來,導進數據庫,代碼圖如下:
在這裏插入圖片描述
二、導出Excel表格
1、在導出之前,又寫了一次查詢,這次查詢根據頁面的查詢條件查詢的,在導出的方法的裏面寫的,不過查詢條件的代碼和多條件查詢的代碼是一樣的,不是直接從頁面獲取的,而是獲取頁面的數據的篩選條件,再在控制器裏查詢一次,再一次把數據查詢出來,代碼圖如下:
在這裏插入圖片描述
2、用NPOI創建工作簿、工作表和表頭行,還要設置表頭,表頭的名稱順序一定要與數據名稱順序相同,以避免出錯;然後爲導出的Excel表格裏添加數據,添加一個for循環和每一次循環後,Excel表格的行數都自增1,逐個添加每行數據,再爲Excel文件命名,命名最好時間爲命名,確定不會重複。再把數據轉化爲內存流,將Excel文件寫入內存流。代碼圖如下:
在這裏插入圖片描述