java读取Excel文件内容公式的处理
来源:互联网 发布:管理系统软件的软件 编辑:程序博客网 时间:2024/04/28 14:59
这几天做了个比较复杂的用java读取Excel文件内容,里面充斥的大量的公式计算,如何读取出其计算结果成了大问题,碰到问题怎么办,两个字"解决",闲话不叙说说解决办法吧。
采用的工具是apache的POI
具体解决办法如下:
一、如果单元格类型是:HSSFCell.CELL_TYPE_FORMULA,即表示表明该单元格式公式类型
二、在该类型处理的地方加入
HSSFFormulaEvaluator evaluator = new HSSFFormulaEvaluator(workbook);
cell.setCellFormula(cell.getCellFormula());
evaluator.evaluateFormulaCell(cell);
三、对于用计算公式计算的不同数据需要进行不同的处理:
如果是日期需要进行转换处理[因为获取的值为数字],具体如下:
获取cell.getDateCellValue().toString(),然后进行转换,具体函数
private static DateFormat emdhmsyDateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
/**
* 根据一定格式转换字符串的日期格式
*
* @return 日期字符串
*/
public static String getEmdhmsyDate(String dateStr) {
String newDate="";
try{
Date d = emdhmsyDateFormat.parse(dateStr);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
newDate=formatter.format(d);
}
catch(Exception e){
System.out.println("转换错误=="+e.toString());
}
return newDate;
}
如果是数字的用cell.getNumericCellValue()获取
如果是字符串用cell.getStringCellValue()获取
四、如果POI不能处理那就只能写JAVA程序处理了,例如:PPMT、LPMT等,原因是POI现在并不支持该函数
采用的工具是apache的POI
具体解决办法如下:
一、如果单元格类型是:HSSFCell.CELL_TYPE_FORMULA,即表示表明该单元格式公式类型
二、在该类型处理的地方加入
HSSFFormulaEvaluator evaluator = new HSSFFormulaEvaluator(workbook);
cell.setCellFormula(cell.getCellFormula());
evaluator.evaluateFormulaCell(cell);
三、对于用计算公式计算的不同数据需要进行不同的处理:
如果是日期需要进行转换处理[因为获取的值为数字],具体如下:
获取cell.getDateCellValue().toString(),然后进行转换,具体函数
private static DateFormat emdhmsyDateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
/**
* 根据一定格式转换字符串的日期格式
*
* @return 日期字符串
*/
public static String getEmdhmsyDate(String dateStr) {
String newDate="";
try{
Date d = emdhmsyDateFormat.parse(dateStr);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
newDate=formatter.format(d);
}
catch(Exception e){
System.out.println("转换错误=="+e.toString());
}
return newDate;
}
如果是数字的用cell.getNumericCellValue()获取
如果是字符串用cell.getStringCellValue()获取
四、如果POI不能处理那就只能写JAVA程序处理了,例如:PPMT、LPMT等,原因是POI现在并不支持该函数
- java读取Excel文件内容公式的处理
- java读取EXCEL文件内容
- java 读取excel文件内容
- Java读取Excel文件内容
- java读取Excel文件内容
- Java 读取excel 文件内容
- java 读取excel文件内容
- 读取excel文件的Java处理
- poi读取excel内容(公式)
- 在Java中读取Excel文件的内容 原作者:SonyMusic
- 使用java技术读取excel文件的内容
- 使用Java读取Excel文件内容
- 使用Java读取Excel文件内容
- 使用Java读取Excel文件内容
- 使用Java读取Excel文件内容
- 【java】使用POI读取excel文件内容
- Java:使用jxl读取excel文件内容
- java poi读取excel文件内容
- sql trace基础
- 网页原型设计
- MFC界面控制
- OutLook中无法打开IE链接的解决办法
- 1.3 boost::any 用法
- java读取Excel文件内容公式的处理
- 背单词
- 存储描述符表(MDL)剖析(二)
- Hadoop当前所包含的子项目汇总
- 关于透明位图的显示1
- 使用samba访问windows的共享目录
- C# 异步读取数据库里面的数据与绑定UI的解决办法
- ORACLE 10g中UNDO数据的作用及UNDO表空间的操作详解
- 随机生成两个不同大小颜色的圆