使用的jar包 为: poi 我的下载分享里有。
Js: $scope.expExcel = function() { var start=$("#start").val(); var end =$("#end").val(); var state =$scope.searchInfo.state; var name =$scope.searchInfo.name; window.open("withdraw/expExcel?state=" +state + "&start=" + start+ "&end=" + end+ "&name=" + name ); };
controller : @Clear public void expExcel() throws ParseException,IOException { SimpleDateFormat sb = new SimpleDateFormat("yyyy-MM-dd"); String start = getPara("start"); String end = getPara("end"); Date startDate = null; Date endDate = null; if (StringUtils.isNotEmpty(start)) { startDate = sb.parse(start); } if (StringUtils.isNotEmpty(end)) { endDate = sb.parse(end); } // 获取导出集合 List<WithdrawHistory> billList = WithdrawHistory.dao.getBillList(getPara("state"),getPara("name"),startDate,endDate); // 开始Excel导出 String EXPORT_PATH = getSession().getServletContext().getRealPath(""); System.out.println(" EXPORT_PATH:" + EXPORT_PATH); File file = new File(EXPORT_PATH + File.separator + "提现履历信息.xls"); if (file.exists()) { file.delete(); } // 工作簿 HSSFWorkbook wb = new HSSFWorkbook(); // 表单 HSSFSheet sheet = wb.createSheet("提现履历"); // 表头 HSSFRow row = sheet.createRow(0); HSSFCell cell = row.createCell(0); cell.setCellValue("查询条件: "); cell = row.createCell(1); cell.setCellValue("统计期间(" + start + " ~ " + end + ")"); cell = row.createCell(2); String userName = "无"; if (StringUtils.isNotEmpty(getPara("name"))) { userName = getPara("name"); } cell.setCellValue("用户名:" + userName); row = sheet.createRow(1); cell = row.createCell(0); cell.setCellValue("No."); cell = row.createCell(1); cell.setCellValue("姓名"); cell = row.createCell(2); cell.setCellValue("开户行"); cell = row.createCell(3); cell.setCellValue("银行账号"); cell = row.createCell(4); cell.setCellValue("转账凭证"); cell = row.createCell(5); cell.setCellValue("提现金额(元)"); cell = row.createCell(6); cell.setCellValue("交易状态"); cell = row.createCell(7); cell.setCellValue("转账时间"); cell = row.createCell(8); cell.setCellValue("操作人员"); int i = 1; for (WithdrawHistory billBo : billList) { row = sheet.createRow(i + 1); cell = row.createCell(0); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellValue(Integer.toString(i)); cell = row.createCell(1); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellValue(billBo.getStr("name")); cell = row.createCell(2); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellValue(billBo.getStr("bank")); cell = row.createCell(3); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellValue(billBo.getStr("account")); cell = row.createCell(4); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellValue(billBo.getStr("voucher")); cell = row.createCell(5); cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC); cell.setCellValue(billBo.getBigDecimal("rmb_num").doubleValue()); cell = row.createCell(6); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellValue(billBo.getStr("state_str")); cell = row.createCell(7); cell.setCellType(HSSFCell.CELL_TYPE_STRING); SimpleDateFormat sft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date transferTime = billBo.getDate("transfer_time"); String t2 = ""; if (transferTime != null) { t2 = sft.format(transferTime); } cell.setCellValue(t2); cell = row.createCell(8); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellValue(billBo.getStr("operator")); i++; } FileOutputStream fos = null; try { fos = new FileOutputStream(file); wb.write(fos); fos.flush(); } finally { if (fos != null) { fos.close(); } } render(new FileRender(file,file.getName())); }原文链接:https://www.f2er.com/angularjs/149240.html