java excel導出
阿新 • • 發佈:2017-06-07
efi find 通過 nsf 調用 rim box dmi btn
下面是jsp代碼:
<li class="btns"><input id="btnExport" class="btn btn-primary"
type="button" value="導出所有" onclick="exports()" /></li>
function exports(){ top.$.jBox.confirm("確認要導出所有數據嗎?","系統提示",function(v,h,f){ if(v=="ok"){ $("#searchForm").attr("action","${ctx}/record/record/record/export"); $("#searchForm").submit(); } },{buttonsFocus:1}); top.$(‘.jbox-body .jbox-icon‘).css(‘top‘,‘55px‘); }
下面是Controller代碼: 我這個是導出的一對多 並且傳入的是實體類:
@RequestMapping(value = "export") public String exportFile(Record record, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {try { String fileName = "用戶數據"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx"; Page<Record> page = recordService.findRecord(new Page<Record>(request, response, -1), record); new ExportExcel("用戶數據", Record.class).setDataList(page.getList()).write(response, fileName).dispose();return null; } catch (Exception e) { addMessage(redirectAttributes, "導出失敗!失敗信息:"+e.getMessage()); } return "redirect:" + adminPath + "/record/record/record?repage"; }
service層:
public Page<Record> findRecord(Page<Record> page, Record record) { // 生成數據權限過濾條件(dsf為dataScopeFilter的簡寫,在xml中使用 ${sqlMap.dsf}調用權限SQL) record.getSqlMap().put("dsf", dataScopeFilter(record.getCurrentUser(), "o", "a")); // 設置分頁參數 record.setPage(page); // 執行分頁查詢 page.setList(recordDao.findList(record)); return page; }
想要導出的實體類字段的get方法上邊要寫上註解:
@ExcelField(title="模式", align=2, sort=800, fieldType=RoleListType.class)
想要通過主表導出子表的數據
一定要在主表裏面把子表的每一個字段都寫出來,並且生成get set方法
在get方法上邊寫上上邊的註解。
java excel導出