標籤:extjs5 extjs excel
繼上次使用js前端匯出excel之後,還有一個主要大家比較關注的是後台實現匯出excel,因為本人開發使用的java所以這裡使用apache的開源項目poi進行後台excel的匯出。
本文目錄
-
- 本文目錄
- poi項目下載及載入
- extjs前端匯出設定
- extjs後台對應的解決方案
- 建立excel活頁簿
- 建立一個excel頁簽
- 產生excel樣式並初始化
- 產生表格標題列build headers
- 構造資料行build rows
poi項目下載及載入
POI項目是apache官網的一個開源項目,其主要目的是對microsoft的辦公軟體進行介面封裝,讓使用者可以對其進行編碼方式書寫。
項目開源網址:Apache POI: http://poi.apache.org/
到寫文章的時候,最新版本是3.1.1,下載bin包 解壓縮後將jar包(以片中的jar包)加入到項目的lib中:
OK。自己測試一下是否正常添加到項目庫中就可以了。
extjs前端匯出設定
在前端extjs的grid中加入底部gridtoolbar內容增加一個匯出excel按鈕,增加處理事件,對處理事件關聯到後台action.
exportexyjsGrid: function (grid) {//關聯後台,傳入需要的參數}
extjs後台對應的解決方案
在背景action處理:
建立excel活頁簿
HSSFWorkbook workbook = new HSSFWorkbook();
建立一個excel頁簽
HSSFSheet sheet = workbook.createSheet("頁簽標題");
產生excel樣式並初始化
HSSFCellStyle style = workbook.createCellStyle();
產生表格標題列(build headers)
HSSFRow row = sheet.createRow(0); for (int i = 0; i < headers.length; i++) { HSSFCell cell = row.createCell(i); cell.setCellStyle(style); HSSFRichTextString text = new HSSFRichTextString(headers[i]); cell.setCellValue(text); }
構造資料行(build rows)
跟標題列一樣 遍曆前台傳入的grid參數 找到store 過濾參數條件 遍曆插入excel資料行並填充資料即可。
本文主要使用的markdown編輯器功能:
1. 代碼高亮
2. 圖片上傳
3. 標題目錄
[ExtJS5學習筆記]第三十四節 sencha extjs 5 grid表格之java後台匯出excel