List of usage examples for org.apache.poi.hssf.usermodel HSSFSheet setVerticallyCenter
@Override public void setVerticallyCenter(boolean value)
From source file:demo.admin.controller.UserController.java
@RequestMapping(value = "/user/downloadData") @VerifyAuthentication(Trader = true, Admin = true, Operation = true) public HttpEntity<byte[]> downloadUserData(String status, String securephone, @RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate startDate, @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate endDate) throws IOException, DocumentException { if (securephone != null && securephone != "") { securephone = Where.$like$(securephone); }//ww w. jav a 2s. c o m List<Map<String, Object>> users = userMapper.userExport(status, securephone, startDate, endDate); String type = status + "?"; HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(type); HSSFRow row = sheet.createRow(0); CellStyle cellStyle = wb.createCellStyle(); cellStyle.setAlignment(CellStyle.ALIGN_CENTER); cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); sheet.setVerticallyCenter(true); sheet.setHorizontallyCenter(true); String[] excelHeader = { "??", "???", "??", "", "??" }; for (int i = 0; i < excelHeader.length; i++) { HSSFCell cell = row.createCell(i); cell.setCellValue(excelHeader[i]); cell.setCellStyle(cellStyle); sheet.autoSizeColumn(i, true); } for (int i = 0; i < users.size(); i++) { Map<String, Object> resultSet = users.get(i); sheet.autoSizeColumn(i, true); row = sheet.createRow(i + 1); row.setRowStyle(cellStyle); row.createCell(0).setCellValue(i + 1); row.createCell(1).setCellValue(String.valueOf(resultSet.get("name"))); row.createCell(2).setCellValue(String.valueOf(resultSet.get("address"))); row.createCell(3).setCellValue(String.valueOf(resultSet.get("registertime"))); row.createCell(4).setCellValue(String.valueOf(resultSet.get("securephone"))); } File file = File.createTempFile(".xls", ".xls"); OutputStream out = new FileOutputStream(file); wb.write(out); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); headers.setContentDispositionFormData("attachment", URLEncoder.encode(type, "UTF-8") + LocalDate.now() + ".xls"); return new HttpEntity<byte[]>(FileUtils.readFileToByteArray(file), headers); }
From source file:kitt.admin.controller.UserController.java
@RequestMapping(value = "/downloadData") @Authority(role = AuthenticationRole.Service) @Authority(role = AuthenticationRole.TraderAssistant) @Authority(role = AuthenticationRole.LegalPersonnel) @Authority(role = AuthenticationRole.Admin) @Authority(role = AuthenticationRole.Operation) public void downloadUserData(String status, @RequestParam(value = "securephone", required = false, defaultValue = "") String securephone, @RequestParam(value = "clienttype", required = false, defaultValue = "0") int clienttype, @RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate startDate, @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate endDate, HttpServletRequest request, HttpServletResponse response) throws IOException, DocumentException { List<Map<String, Object>> users = userMapper.userExport(status, Where.$like$(securephone), clienttype, startDate, endDate);/*from w ww . ja va 2 s .c o m*/ String filename = status + "?"; HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(filename); HSSFRow row = sheet.createRow(0); CellStyle cellStyle = wb.createCellStyle(); cellStyle.setAlignment(CellStyle.ALIGN_CENTER); cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); sheet.setVerticallyCenter(true); sheet.setHorizontallyCenter(true); sheet.setColumnWidth(0, 1200); sheet.setColumnWidth(1, 3600); sheet.setColumnWidth(2, 8000); sheet.setColumnWidth(3, 4500); sheet.setColumnWidth(4, 4500); String[] excelHeader = { "??", "", "??", "??", "" }; for (int i = 0; i < excelHeader.length; i++) { sheet.autoSizeColumn(i, true); HSSFCell cell = row.createCell(i); cell.setCellValue(excelHeader[i]); cell.setCellStyle(cellStyle); } for (int i = 0; i < users.size(); i++) { Map<String, Object> resultSet = users.get(i); sheet.autoSizeColumn(i, true); row = sheet.createRow(i + 1); row.setRowStyle(cellStyle); row.createCell(0).setCellValue(i + 1); row.createCell(1).setCellValue(String.valueOf(resultSet.get("tradername")).equals("null") ? "" : String.valueOf(resultSet.get("tradername"))); row.createCell(2).setCellValue(String.valueOf(resultSet.get("companyname"))); row.createCell(3).setCellValue(String.valueOf(resultSet.get("securephone"))); row.createCell(4).setCellValue(String.valueOf(resultSet.get("verifytime"))); } response.setCharacterEncoding("UTF-8"); response.setContentType("application/x-download"); filename += LocalDate.now() + ".xls"; if (request.getHeader("user-agent").toLowerCase().contains("firefox")) { filename = new String(filename.getBytes("UTF-8"), "ISO-8859-1"); } else { filename = URLEncoder.encode(filename, "UTF-8"); } response.addHeader("Content-Disposition", "attachment; filename=" + filename); OutputStream out = response.getOutputStream(); wb.write(out); out.close(); }