function downloadUser(){
var status = Number($("input:radio[name=status]:checked").val());
var orderSort = $("input:radio[name=sort]:checked").val();
var downloadHref = "../../app/plugin/vote/downloadUser.json?appId="+g_appId+"&activityId="+g_activityId+"&pageNo=1"
+"&pageSize=2&totalCount=-1&status="+status+"&orderSort="+orderSort+"&sortNum="+$("#searchSortNum").val();
+"&name="+$("#searchname").val()+"&searchTicketNum="+$("#searchTicketNum").val();
window.open(downloadHref);
}
@RequestMapping(value = "/plugin/vote/downloadUser.json") public void downloadUser( @RequestParam String appId, @RequestParam int activityId, @RequestParam int pageNo, @RequestParam int pageSize, @RequestParam int totalCount, @RequestParam int status, @RequestParam(required = false) Integer sortNum, @RequestParam(required = false) String name, @RequestParam(required = false) Integer searchTicketNum, @RequestParam(required = false) Integer orderSort, HttpServletRequest request, HttpServletResponse response){ VoteActivity activity = voteConfigService.getActivity(activityId); if(activity != null && activity.getAppId().equals(appId)){ List<String> titles = new ArrayList<String>(); titles.add("姓名"); titles.add("票数"); titles.add("序号"); titles.add("状态"); Page page = voteConfigService.pageUser(pageNo, pageSize, totalCount, activityId, status, name, searchTicketNum, orderSort, sortNum); List<List<Map<String, Object>>> list = new ArrayList<>(); list.add(page.getData()); for(int i = pageNo+1; i <= page.getTotalPageCount(); i++){ page = voteConfigService.pageUser(i, pageSize, totalCount, activityId, status, name, searchTicketNum, orderSort, sortNum); list.add(page.getData()); } HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("选手信息"); HSSFRow row = sheet.createRow(0); for (int i = 0; i < titles.size(); i++) { HSSFCell cl0 =row.createCell(i); cl0.setCellValue(titles.get(i)); } int i = 1; for (int j = 0; j< list.size();j++) { for (Map<String, Object> map : list.get(j)) { HSSFRow row1 = sheet.createRow(i); row1.createCell(0); row1.createCell(1); row1.createCell(2); row1.createCell(3); row1.createCell(4); if(map.get("name") != null) row1.getCell(0).setCellValue(map.get("name").toString()); if(map.get("ticket_num") != null) row1.getCell(1).setCellValue(map.get("ticket_num").toString()); if(map.get("sort") != null) row1.getCell(2).setCellValue(map.get("sort").toString()); String sta = map.get("status").toString(); if(sta != null && !"".equals(sta)){ Integer s = Integer.parseInt(sta); row1.getCell(3).setCellValue((s==1?"显示":(s==2?"隐藏":""))); } i++; } } try { ByteArrayOutputStream os = new ByteArrayOutputStream(); workbook.write(os); byte[] content = os.toByteArray(); InputStream is = new ByteArrayInputStream(content); // 设置response参数,可以打开下载页面 response.reset(); String fileName = activity.getTitle() +"选手信息"; response.setContentType("application/vnd.ms-excel;charset=utf-8"); response.setHeader("Content-Disposition", "attachment;filename="+ new String((fileName+".xls").getBytes("UTF-8"),"ISO-8859-1")); ServletOutputStream out = response.getOutputStream(); BufferedInputStream bis = null; BufferedOutputStream bos = null; try { bis = new BufferedInputStream(is); bos = new BufferedOutputStream(out); byte[] buff = new byte[2048]; int bytesRead; while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) { bos.write(buff, 0, bytesRead); } } catch (Exception e) { e.printStackTrace(); } finally { if(is != null) is.close(); if(workbook != null) workbook.close(); if (bis != null) bis.close(); if (bos != null)
bos.close();
if(out != null)
{
out.flush();
out.close();
} } } catch (IOException e) { e.printStackTrace(); } } }