poi 实战代码---导出Excel(根据模板导出,复制代码用)
Posted rdchen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了poi 实战代码---导出Excel(根据模板导出,复制代码用)相关的知识,希望对你有一定的参考价值。
html代码
<a class="btn btn-primary fa fa-export" href="javascript:void(0);" onclick="expExcel()"><span>导出excel</span></a>
js代码
function expExcel() { var ids=new Array(); $("input:checkbox:checked").each(function(){ //ids.push($(this).val()); ids.push($(this).attr("id")); }); if(ids.length==0){ alert("请至少选中一条记录"); return; } // alert(ids); /* for(var id in ids){ alert(id); } */ if (confirm("导出选中页面数据?")) { var url = __ctx + ‘/platform/xxx/xxx/exportExcel.htm?myId=‘+ ids; var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1) {//判断是否IE浏览器 window.location.href(url); } else { window.open(url, "导出报表"); } } }
java代码
@RequestMapping({ "exportExcel" }) public void exportExcel(HttpServletRequest request, HttpServletResponse response) throws Exception { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String[] aryIds = RequestUtil.getStringAryByStr(request, "myId"); QueryFilter queryFilter = getQuerFilter(request); String myIds = ""; for (int i = 0; i < aryIds.length; i++) { String tmp = aryIds[i].replace("jqg_ggdjqyfgfcGrid_", ""); if (i != aryIds.length - 1) { myIds += "‘" + tmp + "‘,"; } else { myIds += "‘" + tmp + "‘"; } } queryFilter.addParamsFilter("whereSql", "MY_ID_ in (" + myIds + ")"); queryFilter.addParamsFilter("orderBySql", "TBSJ ASC"); List<Ggdjqyfgfc> query = ggdjqyfgfcManager.query(queryFilter); String dirPath = FileUtil.getClassesPath() + File.separator + "template" + File.separator + "exportMode" + File.separator; String fileName = "ggdjfgfc.xls"; FileInputStream inStream = new FileInputStream(new File(dirPath + fileName)); HSSFWorkbook wb = new HSSFWorkbook(inStream); HSSFSheet sheet = wb.getSheetAt(0); HSSFCell cell = null; for (int i = 0; i < query.size(); i++) { Ggdjqyfgfc e = query.get(i); HSSFRow row = sheet.getRow(i + 2); row = ExcelUtil.getNotNullRow(sheet, i + 2); cell = ExcelUtil.getNotNullCell(wb, row, 0); cell.setCellValue(sdf.format(e.getTbsj())); cell = ExcelUtil.getNotNullCell(wb, row, 1); cell.setCellValue(e.getGdj() + ""); cell = ExcelUtil.getNotNullCell(wb, row, 2); cell.setCellValue(e.getRjdl() + ""); cell = ExcelUtil.getNotNullCell(wb, row, 3); cell.setCellValue(e.getDrdl() + ""); cell = ExcelUtil.getNotNullCell(wb, row, 4); cell.setCellValue(e.getFcl() + ""); cell = ExcelUtil.getNotNullCell(wb, row, 5); cell.setCellValue(e.getQyzs() + ""); cell = ExcelUtil.getNotNullCell(wb, row, 6); cell.setCellValue(e.getFgqyhs() + ""); cell = ExcelUtil.getNotNullCell(wb, row, 7); cell.setCellValue(e.getFgl() + ""); } fileName = "xxxx表_" + ".xls"; response.setContentType("application/octet-stream;charset=UTF-8"); response.setHeader("Content-Type", "application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("GB2312"), "8859_1")); response.addHeader("Pargam", "no-cache"); response.addHeader("Cache-Control", "no-cache"); OutputStream out = response.getOutputStream(); wb.write(out); out.flush(); out.close(); }
以上是关于poi 实战代码---导出Excel(根据模板导出,复制代码用)的主要内容,如果未能解决你的问题,请参考以下文章