java poi读取excel公式,返回计算值

http://blog.csdn.net/CYZERO/article/details/6573015

经测试,确实可以

 1 package hrds.zpf.poi;  2  3  import org.apache.poi.hssf.usermodel.HSSFWorkbook;  4  import org.apache.poi.hssf.usermodel.HSSFSheet;  5  import org.apache.poi.hssf.usermodel.HSSFRow;  6  import org.apache.poi.hssf.usermodel.HSSFCell;  7  8 import java.io.*;  9 10 public class FormulaToString { 11 12     /** 13      * @param args 14      */ 15     public void fileInput() throws IOException { 16 17         HSSFWorkbook hw = new HSSFWorkbook(new FileInputStream( 18                 "d:/My Documents/Desktop/poi.xls")); 19         HSSFSheet hsheet = hw.getSheet("poi test"); 20         HSSFRow hrow = hsheet.getRow(0); 21         HSSFCell hcell = hrow.getCell(0); 22         String cellValue = this.getCellValue(hcell); 23         System.out.println(cellValue); 24 25     } 26 27     public String getCellValue(HSSFCell cell) { 28         String value = null; 29         if (cell != null) { 30             switch (cell.getCellType()) { 31             case HSSFCell.CELL_TYPE_FORMULA: 32                 // cell.getCellFormula(); 33                 try { 34                     value = String.valueOf(cell.getNumericCellValue()); 35                 } catch (IllegalStateException e) { 36                     value = String.valueOf(cell.getRichStringCellValue()); 37                 } 38                 break; 39             case HSSFCell.CELL_TYPE_NUMERIC: 40                 value = String.valueOf(cell.getNumericCellValue()); 41                 break; 42             case HSSFCell.CELL_TYPE_STRING: 43                 value = String.valueOf(cell.getRichStringCellValue()); 44                 break; 45             } 46         } 47 48         return value; 49     } 50 51     public static void main(String[] args) { 52         try { 53             // TODO Auto-generated method stub 54             FormulaToString fts = new FormulaToString(); 55             fts.fileInput(); 56         } catch (IOException e) { 57             e.printStackTrace(); 58         } 59     } 60 61 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏拂晓风起

actionscript DES 加密 解密 (AES,其他加密)

1013
来自专栏函数式编程语言及工具

SDP(7):Cassandra- Cassandra-Engine:Streaming

  akka在alpakka工具包里提供了对cassandra数据库的streaming功能。简单来讲就是用一个CQL-statement读取cassandra...

3326
来自专栏函数式编程语言及工具

PICE(5):MongoDBStreaming - gRPC -MGO Service

  我在前面提到过MongoDB不支持像SQL般字符式的操作指令,所以我们必须对所有的MongoDB操作指令建立protobuf类型才能支持MongoDB指令的...

1004
来自专栏ml

Redis学习笔记二

  学习Redis添加Object时,由于Redis只能存取字符串String,对于其它数据类型形容:Int,long,double,Date等不提供支持,因而...

3309
来自专栏土豆专栏

JavaWeb入门之Servlet小练习

在web.xml文件中设置两个WEB应用的初始化参数,username,password,创建一个html页面,定义两个请求字段并发送到一个Servlet中,对...

41712
来自专栏XAI

Excel导出工具类.

 Excel导出工具类.--POI import java.io.OutputStream; import java.lang.reflect.Field; i...

20210
来自专栏HansBug's Lab

2764: [JLOI2011]基因补全

2764: [JLOI2011]基因补全 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 570  Solv...

2978
来自专栏GIS讲堂

大量POI点展示的一种解决方案——续

在上文“ 大量POI点展示的一种解决方案”中,介绍了在在后台将POI生成图片在前台展示,文章中没有涉及到点的抽稀问题,也就是当点的数据量非常大的时候,这种展示方...

1293
来自专栏Hongten

Java Web 网络留言板6 MVC模式

request.setAttribute("message", message);   request.getRequestDispatcher("/addR...

2061
来自专栏小樱的经验随笔

BZOJ 3097: Hash Killer I【构造题,思维题】

3097: Hash Killer I Time Limit: 5 Sec  Memory Limit: 128 MBSec  Special Judge Su...

1916

扫码关注云+社区