1、匯出資料
情況一:沒有模板
前臺:在新視窗打開下載路徑,利用瀏覽器的檔案下載功能實作匯出效果
后臺:① 查詢出需要匯出的資料
② 創建作業簿、作業表
1. 參考NPOI庫檔案
2. 使用NPOI創建作業簿(Excel表格)
3. 通過作業簿創建作業表,同時設定通過表的名稱
③ 創建標題行
1. 通過作業表創建第一行(標題行),同時設定行高
2. 通過行創建單元格
3. 設定單元格的值(文本,即標題)
4. 通過作業簿創建單元格樣式(水平/垂直居中)
5. 通過作業簿創建單元格字體(顏色,加粗,大小)
6. 把字體設定到單元格樣式中
7. 根據資料合拼單元格,構成標題行(標題行只有一行,而且是一個單元格)
8. 設定單元格樣式(即設定標題行樣式)
④ 創建表頭行
1. 通過作業表創建第二行(表頭行),同時設定行高
2. 通過作業簿創建單元格樣式(水平/垂直居中,邊框,背景填充顏色)
3. 通過作業簿創建單元格字體(加粗,大小)
4. 把字體設定到單元格樣式中
5. 通過行創建單元格,設定單元格的值
6. 遍歷表頭行中的單元格,為單元格設定樣式
⑤ 填充表格的內容
1. 通過作業簿創建單元格樣式(水平/垂直居中,邊框)
2. 遍歷查詢到的資料,注意:第3/4/5步操作是在回圈中的
3. 通過作業表創建行,由于已存在標題行與表頭行,所以創建行的時候要
注意行的索引應為:(2 +當前遍歷的索引)
4. 通過行創建單元格,同時設定單元格的值(當前遍歷的對應的資料)
5. 遍歷當前行中的單元格,為單元格設定樣式
⑥ 設定列寬為自適應
⑦ 把創建好的作業簿寫入流,回傳到瀏覽器
1. 設定下載檔案的檔案名
2. 開辟一塊記憶體流
3. 把創建好的Excel表格寫入記憶體流
4. 輸出之前呼叫Seek,保證從檔案的開始位置輸出,避免出現檔案損壞的
情況
5. 回傳檔案
情況二:有模板
前臺:在新視窗打開下載路徑,利用瀏覽器的檔案下載功能實作匯出效果
后臺:① 查詢需要匯出的資料
② 讀取模板檔案
1. 獲取檔案路徑
2. 判斷檔案是否存在
③ 使用NPOI打開模板(Excel檔案)
1. 參考NPOI庫檔案
2. 通過檔案流打開模板
3. 通過NPOI把檔案流轉為作業簿
④ 打開模板中的第一個作業表,是否需要設定標題(根據實際情況決定)
⑤ 往模板中填充資料
1. 通過作業簿創建單元格樣式(垂直/水平居中,邊框)
2. 遍歷查詢到的資料,注意:第3/4/5步操作是在回圈中的
3. 通過作業表創建行,由于已存在標題行與表頭行,所以創建行的時候要
注意行的索引應為:(2 +當前遍歷的索引)
4. 通過行創建單元格,同時設定單元格的值(當前遍歷的對應的資料)
5. 遍歷當前行中的單元格,為單元格設定樣式
⑥ 把填充好的模板以流的形式回傳到瀏覽器
1. 設定下載檔案的檔案名
2. 開辟一塊記憶體流
3. 把填充好資料的模板寫入流
4. 輸出之前呼叫Seek,保證從檔案的開始位置輸出,避免出現檔案損壞的
情況
5. 回傳檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/13703.html
標籤:非技術區
上一篇:分頁查詢
下一篇:jsp多檔案下載運行時400報錯
