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 条评论
登录 后参与评论

相关文章

来自专栏Hongten

java编程_socket_套接字_网络编程_简易的GUI多线程聊天程序

===============================================================

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

SDP(9):MongoDB-Scala - data access and modeling

    MongoDB是一种文件型数据库,对数据格式没有硬性要求,所以可以实现灵活多变的数据存储和读取。MongoDB又是一种分布式数据库,与传统关系数据库不同...

3404
来自专栏菩提树下的杨过

thrift:swift项目笔记

先声明:此swift不是Apple公司的那个swift开发语言,而是facebook的另一个开源项目。 facebook的thrift IDL文件,如果默认用t...

2548
来自专栏飞扬的花生

jsencrypt参数前端加密c#解密

      写程序时一般是通过form表单或者ajax方式将参数提交到服务器进行验证,如何防止提交的请求不被抓包后串改,虽然无法说绝对安全却给非法提交提高了难度...

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

SDP(4):ScalikeJDBC- JDBC-Engine:Updating

    在上一篇博文里我们把JDBC-Engine的读取操作部分分离出来进行了讨论,在这篇准备把更新Update部分功能介绍一下。当然,JDBC-Engine的...

2443
来自专栏菩提树下的杨过

委托示例(利用委托对不同类型的对象数组排序)

using System; using System.Collections.Generic; using System.Text; namespac...

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

SDP(6):分布式数据库运算环境- Cassandra-Engine

    现代信息系统应该是避不开大数据处理的。作为一个通用的系统集成工具也必须具备大数据存储和读取能力。cassandra是一种分布式的数据库,具备了分布式数据...

2984
来自专栏智能大石头

C++返回值优化RVO

返回值优化,是一种属于编译器的技术,它通过转换源代码和对象的创建来加快源代码的执行速度。RVO = return value optimization。 测试...

2199
来自专栏码洞

Guice快速入门

官方文档里给出的例子又臭又长,我不使用官方的例子,下面我们来写个最简单的HelloWorld

490
来自专栏曾大稳的博客

Android ClassLoader流程解读并简单方式实现热更新

ClassLoader在启动Activity的时候会调用loadClass方法,我们就从这里入手:

1072

扫码关注云+社区