最近在开发过程中,遇到java读取excel模板并写入数据,其中数据有计算求和的操作,一开始没有实现导出自动计算公式,所以费了一遍事,后台又重新做了一次数据计算,总感觉这样不是很好,所以上网找资料,终于在同事的帮助下实现了这一功能,分享出来,希望自己或看到的人可以受用。
String realPath= request.getSession().getServletContext().getRealPath("/WEB-INF/templetefile");
File templeteFile = new File(realPath + "/examNotice.xlsx");
InputStream fis = new FileInputStream(templeteFile);
XSSFWorkbook wb = new XSSFWorkbook(fis);
XSSFSheet st = wb.getSheetAt(0);
XSSFCell cell = null;
String[] rowName = {"LEVEL_5","LEVEL_4","LEVEL_3"};
for(int i=9;i<12;i++){
int k = 1;
for (Map.Entry<String, Object> entry : result.entrySet()) {
Map map = (Map)entry.getValue();
cell = st.getRow(i).getCell(k);
cell.setCellType(XSSFCell.CELL_TYPE_NUMERIC);//设置单位格类型
cell.setCellValue(Double.valueOf(map.get(rowName[i-9]).toString()));
k++;
}
}
[color=red]st.setForceFormulaRecalculation(true);[/color]//重点在这,这句是重新计算公式的意思
if(request.getHeader("user-agent").indexOf("MSIE") != -1) {
filename = java.net.URLEncoder.encode(filename,"utf-8") + ".xlsx";
} else {
filename = new String(filename.getBytes("utf-8"),"iso-8859-1") + ".xlsx";
}
ByteArrayOutputStream bStream = new ByteArrayOutputStream();
wb.write(bStream);
ByteArrayInputStream bInputStream = new ByteArrayInputStream(bStream.toByteArray());
response.setContentLength(bStream.size());
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition", "attachment;filename="+ filename);
byte[] bt = new byte[1024];
int bcount = 0;
while((bcount = bInputStream.read(bt,0,1024)) != -1){
response.getOutputStream().write(bt,0,bcount);
}
response.getOutputStream().flush();

java导出excel自动计算公式相关推荐

  1. NPOI导出Excel自动计算公式问题

    以前用过sheet.ForceFormulaRecalculation = true;当时能够自动计算出来. 今天把模板改了一下(没动公式,但是模板是老板改的,我也不知道他操作了什么),结果就不能自动 ...

  2. java导出Excel(POI模式 Ajax下载 Post传参) bootstrap table getVisibleColumns获取显示的列

    工具类 (正式使用) package com.qyj.utils;import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson. ...

  3. JAVA导出EXCEL实现

    ##JAVA导出EXCEL实现的多种方式 java导出Excel的方法有多种,最为常用的方式就是使用第三方jar包,目前POI和JXL是最常用的二方包了,也推荐使用这两种. ###POI实现 POI这 ...

  4. java填充excel表格中_填充导出Java导出excel表格

    近期朋友几篇文章介绍了改填充导出的文章. 关联文章的地址 之前做项目的时候需要数据库导出excel格式,由于项目赶没实现,现在分享下如何用java导出excel.话不多说案例如下: 首先要做的是导入一 ...

  5. java导出excel设置行高列宽_使用POI生成Excel文件,可以自动调整excel列宽

    //autoSizeColumn()方法自动调整excel列宽 importjava.io.FileOutputStream; importorg.apache.poi.hssf.usermodel. ...

  6. java导出excel文件名_怎么解决java导出excel时文件名乱码

    怎么解决java导出excel时文件名乱码 发布时间:2020-06-19 16:59:00 来源:亿速云 阅读:137 作者:元一 java解决导出Excel时文件名乱码的方法示例:String a ...

  7. java 导出excel教程_Java导出Excel表格

    Java导出Excel表格 导出Excel表格需要一个poi-3.9.jar的包,该包在网上可以找到. 第一步,创建Excel对象. HSSFWorkbook workbook = new HSSFW ...

  8. java 浏览器 excel导出excel_使用Java导出Excel表格并由浏览器直接下载——基于POI框架...

    非异步方法 /** * 使用Java导出Excel表格并由浏览器直接下载--基于POI框架 * * @param response * @return * @throws IllegalAccessE ...

  9. java文件无法导出excel文件,【excel表格文件格式无效】java导出excel,excel打不开,报文件格式无效,怎么解决!...

    excel提示 打开的文件.xls的格式与文件扩展名不一致怎么办 如果打开文件的格式与文件的扩展名不一致,只要能够打开就不用去管他. java导出excel,excel打不开,报文件格式无效,怎么解决 ...

最新文章

  1. 4.Android loader详解___回调
  2. pytorch 图像分割的交并比_级联多对抗的LAPGAN(二)pytorch实现
  3. P6348-[PA2011]Journeys【线段树优化建图,最短路】
  4. 电话光端机安装步骤详解
  5. Android 高级编程 RecyclerView 控件的使用
  6. epic怎么添加本地游戏_游戏日报:原神公测无法上架多家安卓渠道;Epic投资布局游戏UGC平台...
  7. Bootstrap 警告框
  8. Asp.net MVC中如何获取控制器的名称
  9. hdu 1059 Dividing(多重DP)
  10. Pascal 语言中的关键字及保留字
  11. windows查看GPU使用信息
  12. Android自定义View入门级
  13. 对于“增霸卡“的介绍跟使用
  14. LoadRunner教程(22)-LoadRunner C语言脚本
  15. 2018清华计算机专业优秀学生名单,2018信息学竞赛清华北大优秀学生签约名单
  16. java画太极加图片_使用Java 2D绘制黑白太极图案
  17. TP-LINK三层网管交换机通过console接口完成复位操作
  18. android零宽空格,特殊字符的问题—零宽空格
  19. ES6常见面试题(二)
  20. 计算机图形学GAMES101(十四)光线追踪(辐射度量学、渲染方程与全局光照)

热门文章

  1. java播放wav文件没声音_java播放wav文件,该如何处理
  2. 矩阵乘法——矩阵快速幂
  3. linux 使用设备树点亮LED 实战
  4. Python Animation 画动态图形
  5. postgresql 页损坏(corrupted page)之checksum功能
  6. 又一篇Android Recovery的文章
  7. 实验内容:编写程序,模拟抓狐狸小游戏。假设一共有一排5个洞口,小狐狸最开始的时候在其中一个洞口,然后玩家随机打开一个洞口,如果里面有狐狸就抓到了。如果洞口里没有狐狸就第二天再来抓,但是第二天狐狸会在
  8. SQLServer创建表,插入数据,查询,创建触发器,存储过程
  9. unity projector相关探讨和使用
  10. Carsim-simulink联合仿真注意事项