java鬼混笔记:用Spring的ResponseEntity和poi进行excel生成和下载

笔记来自于愤怒人需求,,,,,,

把代码简化了一下

 

@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

 

 
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值