我正在使用Apache POI API从Excel文件中获取值.
除了含有公式的单元格外,一切都很好.实际上,cell.getStringCellValue()返回单元格中使用的公式而不是单元格的值.
我尝试使用evaluateFormulaCell()方法,但它不起作用,因为我使用的是GETPIVOTDATA Excel公式,并且此公式未在API中实现:

CopyException in thread "main" org.apache.poi.ss.formula.eval.NotImplementedException: Error evaluating cell Landscape!K11at org.apache.poi.ss.formula.WorkbookEvaluator.addExceptionInfo(WorkbookEvaluator.java:321)at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateAny(WorkbookEvaluator.java:288)at org.apache.poi.ss.formula.WorkbookEvaluator.evaluate(WorkbookEvaluator.java:221)at org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.evaluateFormulaCellValue(HSSFFormulaEvaluator.java:320)at org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.evaluateFormulaCell(HSSFFormulaEvaluator.java:213)at fromExcelToJava.ExcelSheetReader.unAutreTest(ExcelSheetReader.java:193)at fromExcelToJava.ExcelSheetReader.main(ExcelSheetReader.java:224)
Caused by: org.apache.poi.ss.formula.eval.NotImplementedException: GETPIVOTDATAat org.apache.poi.hssf.record.formula.functions.NotImplementedFunction.evaluate(NotImplementedFunction.java:42)

最佳答案
对于公式单元格,excel存储两件事.一个是公式本身,另一个是“缓存”值(论坛被评估为的最后一个值)
如果你想获得最后一个缓存的值(可能不再正确,但只要Excel保存文件并且你没有更改它应该是),你会想要类似的东西:

Copy for(Cell cell : row) {if(cell.getCellType() == Cell.CELL_TYPE_FORMULA) {System.out.println("Formula is " + cell.getCellFormula());switch(cell.getCachedFormulaResultType()) {case Cell.CELL_TYPE_NUMERIC:System.out.println("Last evaluated as: " + cell.getNumericCellValue());break;case Cell.CELL_TYPE_STRING:System.out.println("Last evaluated as \"" + cell.getRichStringCellValue() + "\"");break;}}}

转自:http://www.ossoft.cn/p/1173850.html

Java POI:如何读取Excel单元格值而不是计算公式相关推荐

  1. java excel poi 包_用java poi包读取Excel单元格

    content = new hashmap(); string str = ""; try { fs = new poifsfilesystem(is); wb = new hss ...

  2. JAVA POI拆分合并的单元格

    JAVA POI拆分合并的单元格 最近项目中需要做一个导入功能,但是EXCEL数据有合并单元格的情况出现,导入的数据需要直接入库,合并单元格的数据首行会有数据,但次行的值为空.见下图 需要获取C列和E ...

  3. python读取excel表格-Python读取Excel单元格的内容

    python读取excel的单元格返回类型 Python通过xlrd对Excel进行读取操作时,返回的数据类型(ctype)有下面5中类型: 0 – empty:空 1 – string:字符串 2 ...

  4. Python读取Excel单元格的内容

    xlrd读取Excel文件 python读取excel的单元格返回类型 Python通过xlrd对Excel进行读取操作时,返回的数据类型(ctype)有下面5中类型: 0 – empty:空 1 – ...

  5. java读取excel某个单元格的值_java poi怎么获取excel单元格的内容

    展开全部 package edu.sjtu.erplab.poi; import java.io.InputStream&ch=ww.xqy.chain" target=" ...

  6. java 读取 excel poi_java poi怎么获取excel单元格的内容?

    展开全部 package edu.sjtu.erplab.poi; import java.io.InputStream&ch=ww.xqy.chain" target=" ...

  7. poi 不自动计算 设置单元格公式_Java POI:如何读取Excel单元格的值而不是计算公式?...

    上面的建议对我来说不起作用cell.getRawValue()返回与AUT上的excel单元格相同的公式,所以写下面的函数,它工作: public void readFormula() throws ...

  8. poi修改excel单元格值导致单元格变成橙色的问题(WPS)

    问题描述:在Java程序中将一个单元格的值改成空,结果导出excel后,用WPS软件打开,发现这个单元格背景色变成橙色,但是当这个单元格激活输入模式后,橙色又消失了.如下图: 在单元格中输入值后,橙色 ...

  9. Python pandas读取excel单元格数据,显示不全问题

    用pandas的pd.read_excel()方法在读取一个存储图片URL路径的EXCEL表格数据时,由于路径较长,出现了单元格内容显示不全的问题.尤其是在使用pd.to_excel()将处理好的数据 ...

最新文章

  1. [转]Java中常用的集合—初学者的你不可错过的精编整理
  2. rman datafile恢复(归档模式)
  3. 【渝粤教育】电大中专常见病药物治疗 (2)作业 题库
  4. c语言const 修饰二级指针,C++中const修饰二级指针(从类型‘int**’到类型‘const int**’的转换无效)...
  5. Sharding-jdbc视频:当Sharding-jdbc遇到Spring Boot
  6. BeanShell变量和方法的作用域
  7. ThinkPHP5 php-jwt
  8. 取色器——TakeColor绿色安全简单
  9. 阿里巴巴的商品主图视频要怎么保存比较快
  10. DPDK Release 21.08
  11. VMware卸载Ubuntu系统(详细教程)
  12. ENVI5.3.1高分2号影像预处理流程
  13. 迭代扩展卡尔曼滤波IEKF
  14. python3多线程进度条_python,多线程_Python:在多线程中使用进度条(progressbar)碰到的问题,python,多线程 - phpStudy...
  15. Windows修改本地域名解析文件hosts
  16. wp7编程环境配置(包含xp下安装)
  17. nrf52+RFX2401的PA+LNA方案,基于softdevice驱动
  18. 肌酐研究之Biovision肌酐合成试剂盒
  19. 【关于2022年卡塔尔世界杯】
  20. 容器三把斧之 | OverlayFS原理与实现

热门文章

  1. 阿里旅行 门票基础保障内容
  2. ROS学习第二讲(1)
  3. 百度地图隐藏家和公司地点教程(2021)
  4. java实现mysql的导入导出_Java实现mysql导入导出Excel
  5. 网络划分之IP地址计算器
  6. centos 7.3 iscsi登录失败问题及解决方法
  7. 美团技术岗扩招,年薪最高近40万。你有能力进美团吗?
  8. WebRTC系列-RTCDataChannel发送非音视频数据
  9. 微信公php开发视频,PHP实现微信公众平台开发 全套视频资源下载
  10. Verilog中的!和~