笔记来自于愤怒人需求,,,,,,
把代码简化了一下
@RequestMapping("/a")
@ResponseBody
public ResponseEntity<byte[]> a() throws Exception {
Workbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet("1");// 分页
Sheet sheet2 = wb.createSheet("2");// 分页2
Row row = sheet.createRow(0);// 第0+1行
Cell cell = row.createCell(0);// 第row行第0+1列
cell.setCellValue("abc");
// 把所有的数据放在excel中
HttpHeaders headers = new HttpHeaders();
headers.setContentDispositionFormData("attachment", "1workbook.xls");// new String("线上消费记录".getBytes("GBK"),"iso-8859-1")
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
ByteArrayOutputStream outByteStream = new ByteArrayOutputStream();
wb.write(outByteStream);
return new ResponseEntity<byte[]>(outByteStream.toByteArray(), headers, HttpStatus.OK);
}
JXLS
@GetMapping("/d")
public void d(HttpServletResponse response) throws Exception {
Context context = new Context();
List<OrderVO> orderVOS = makeOrderVO(3);
context.putVar("orderList", orderVOS);
InputStream in = CC.class.getClassLoader().getResourceAsStream("excel/shipExcel.xls"); //模板路径
response.setHeader("content-type", "application/octet-stream");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-Disposition", "attachment;fileName=" + new String(("123.xls").getBytes(),"ISO-8859-1"));
ServletOutputStream outputStream = response.getOutputStream();
JxlsHelper.getInstance().processTemplate(in, outputStream, context);
outputStream.flush();
outputStream.close();
in.close();
}
ok