找了好久没有看到有人解决,大多都是xls版本的HSSF。下面是解决xlsx版本XSSF公式失效问题。
需求:从系统中生成EXCEL,在最后一行合计。
实现:代码中写出excel的合计公式。拼凑出例如:=SUM(J3:J7)放进代码。
问题:实际导出来的excel文件,合计栏出现了空白。鼠标放上去看,公式完全没有问题,就是没有生效,并且提示是非受保护视图。点击启用编辑关掉受保护视图,公式又生效了。

解决

     // 合计2 数值格式XSSFCellStyle contextStyle2 = workbook.createCellStyle();contextStyle2.setBorderBottom(XSSFCellStyle.BORDER_THIN);contextStyle2.setBorderLeft(XSSFCellStyle.BORDER_THIN);contextStyle2.setBorderTop(XSSFCellStyle.BORDER_THIN);contextStyle2.setBorderRight(XSSFCellStyle.BORDER_THIN);contextStyle2.setAlignment(XSSFCellStyle.ALIGN_CENTER);contextStyle2.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);contextStyle2.setFont(font);// 最关键的是'_ ',最后有个空格别忘了,空格是必须的contextStyle2.setDataFormat(workbook.createDataFormat().getFormat("0.00_ "));cell.setCellStyle(contextStyle2);//一定要判断导出数据非空,否则刷新公式部分会报错,最开始没有意识到这个问题,走偏了好久。if (!CollectionUtils.isEmpty(data)) {//colString=CellReference.convertNumToColString(9);  //长度转成ABC列 数字代表第几列 从0开始String sumString = "SUM(" + colString + (startRow + 1) + ":" + colString + endRow + ")";//公式cell.setCellFormula(sumString);//解决公式失效核心代码 刷新FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();//计算公式并保存结果。单元格保留公式。不包含公式,不会进行任何更改。evaluator.evaluateAll();} else {cell.setCellValue("-");}

记录JAVA POI导出excel表xlsx公式合计失效问题XSSF相关推荐

  1. POI 导出excel ,xlsx 公式多个下拉框 XSSF

    业务需求需要导出Excel,然而xls部分公式无法使用,且导出效率和行数有限制,因此更换导出文件为xlsx,下拉框个数根据参数传入.代码写得有点乱,如下代码为导出excel xlsx格式的代码 /** ...

  2. java poi导出Excel表,合并单元格

    其他参考文章: http://www.cnblogs.com/bmbm/archive/2011/12/08/2342261.html http://www.cnblogs.com/xuyuanjia ...

  3. poi导出excel写入公式_【java poi 写入Excel后读取公式值问题】poi导入excel

    java poi 写入Excel后读取公式值问题 不用改公式,只需要用cell.getNumericCellValue()获取,读出来就是正确的值了,如果你读出来的还有问题,说明你其他的地方写的还有问 ...

  4. 利用java poi对excel表的读写操作

    2019独角兽企业重金招聘Python工程师标准>>> 利用java poi对excel表的读写操作 POI简介: Apache POI是一种流行的API,它允许程序员使用Java程 ...

  5. java 动态导出excel表单 无模板本地生成

    java 动态导出excel表单 无模板本地生成 这里使用的是alibaba的公共类excelWriter,注意在pom文件中要引入easyExcel的依赖 public void exportExc ...

  6. java poi 导出excel不能超过65536行

    java poi 导出excel不能超过65536行 报这个异常 Exception in thread "main" java.lang.IllegalArgumentExcep ...

  7. 使用poi导出excel表基础

    使用poi导出excel表基础. 本人使用的是ssm的框架.使用了mybatis的逆向工程.数据的获取方法很多,如果用servlet大同小异. 在页面中设置一个按钮 为按钮添加点击事件. <bu ...

  8. java 动态导出excel表单 无模板文件下载

    java 动态导出excel表单 无模板文件下载 public ResponseEntity<byte[]> exportStanding(@PathVariable Long signu ...

  9. JAVA POI 导出EXCEL时,EXCEL模板中的公式无效问题

    JAVA POI 出力EXCEL时,EXCEL模板中的公式无效问题 工作中遇到一个问题. EXCEL模板有两个sheet,画面内容要导出到第二个sheet中,第一个sheet设置公式,读取第二个she ...

最新文章

  1. python写数据结构书_有哪些用 Python 语言讲算法和数据结构的书?
  2. AI:2021年WAIC世界人工智能大会2021年7月9日《可信AI论坛》、《AI引领探索保险科技新价值》、《产研共育·数智未来》等论坛演讲内容分享及解读
  3. 006 CSS三种引入方式
  4. API网关-apisix源码剖析,初始化依赖
  5. C/C+语言struct深层探索
  6. bzoj 3594: [Scoi2014]方伯伯的玉米田
  7. QProcess 使用
  8. 树链剖分入门+博客推荐
  9. 月薪过万的java程序员需要什么能力_什么样能力的Java程序员月薪过万
  10. VMWare安装Deepin系统
  11. vue Fullcalendar鼠标放上展示悬浮框 (tippyjs插件的简单使用)
  12. 广电优点家庭服务器怎么无线桥接,路由器有线桥接和无线桥接哪个好一点?
  13. 程序员也需要掌握的常用Linux网络命令汇总
  14. 在wamp 或者xamp 下测试多个独立的网页文件
  15. LaTex\TexStduio设置参考文献Bibtex
  16. win7系统如何提升电脑开机速度?
  17. java 163 授权码_JavaMail使用163,sina邮箱,发送失败
  18. HDU-4477 Cut the rope II 递推
  19. M3800的故事——Ipad mini2·电源1
  20. 使用lucene的多字段排序--回复网友BUFFON

热门文章

  1. 京东阿里IPO大战硝烟四起 投资人挑花眼
  2. 选择公有云桌面还是私有云桌面?有没有免费的云桌面?
  3. 详解互联网APP架构1.0
  4. 前端一个月面试小记,字节、蚂蚁、美团、滴滴
  5. Android CPU架构
  6. 牛人用 Rust 重写了 Apache Spark,并把它开源了
  7. PYTORCH 笔记 DILATE 代码解读
  8. react项目安装:error http://registry.npm.taobao.org/antd/download/antd-3.10.4.tgz: Integrity check failed
  9. 插入排序(python)
  10. 笔试回忆-CVTE广州视源-嵌入式应用开发实习生-20180314