大家好,欢迎来到IT知识分享网。
使用POI导出Excel(并使用公式)
-
使用java直接生成Excel并填充数据
可以参考POI官方文档,就是对Sheet,row,cell,Formula等操作,
https://poi.apache.org/components/index.html
这种方式也可以生成复杂样式的Excel,但是代码量非常大,简单的Excel可以使用此种操作方式 -
新建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();
}
//使用模板文件生成Excel
Workbook 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
连接最后可以看到
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/15375.html