使用POI导出Excel(并使用公式)

使用POI导出Excel(并使用公式)

  1. 使用java直接生成Excel并填充数据
    可以参考POI官方文档,就是对Sheet,row,cell,Formula等操作,
    https://poi.apache.org/components/index.html
    这种方式也可以生成复杂样式的Excel,但是代码量非常大,简单的Excel可以使用此种操作方式

  2. 新建Excel,然后java读取并填充数据
    这种方式适合生成复杂样式的Excel。也可以在模板中指定公式,填充数据后公式自动运算

新建Excel模板
在这里插入图片描述

具体代码

@RequestMapping("/demo")public String exportExcel(HttpServletResponse response) {response.setContentType("application/binary;charset=UTF-8");ServletOutputStream out = null;try {out = response.getOutputStream();//spring自带的读取文件(文件放在resource下)Resource resource = new ClassPathResource("template/evaluate.xls");try {                response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(resource.getFilename(), "UTF-8"));} catch (UnsupportedEncodingException e1) {e1.printStackTrace();}//使用模板文件生成ExcelWorkbook workbook = HSSFWorkbookFactory.create(resource.getFile());Sheet sheet = workbook.getSheetAt(0);//模拟填充数据for (int i = 0; i < 10; i++) {Row row = sheet.getRow(i);row.createCell(0).setCellValue(i);row.createCell(1).setCellValue(i + 1);}sheet.setForceFormulaRecalculation(true);workbook.write(out);} catch (Exception e) {e.printStackTrace();} finally {if (out != null) {try {out.flush();out.close();} catch (IOException e) {e.printStackTrace();}}}return "";}

结果展示

在这里插入图片描述

注意:POI并不是支持所有的Excel中的公式
https://poi.apache.org/components/spreadsheet/eval-devguide.html
连接最后可以看到


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部