用java解析EXCEL公式的问题

有没有第三方的lib可以解析公式提取出元素名, 比如输入SUM(A1:A2) 可以输出A1和A2. 输入A1+A2+A3可以输出A1,A2,A3. 不知道poi有没有这个功能, 有的话请写个例子.

获取公式值可用 HSSFFormulaEvaluator e= New HSSFFormularEvaluator(workbook);
e.evaluate(cell).getNumberiValue.
如果不是你要的结果。还有其它很多方法。
比如这样一个比较笨的方法。
double value = cell.getNumericCellValue();
value = value * 24 *3600;
int h = (int) (value /3600)
int m= (int )((value - h* 3600) /60);
int s = (int)(value-h*3600 -m* 60) ;
String result = h + ":"+m + "s" ;
得到结果。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-04
while (cells.hasNext()) {
String valueString="";
HSSFCell cell = (HSSFCell) cells.next();
switch (cell.getCellType()) { //获取数据类型
case HSSFCell.CELL_TYPE_NUMERIC: // 数字
valueString=String.valueOf((int)cell.getNumericCellValue());
break;
case HSSFCell.CELL_TYPE_STRING: // 字符串
valueString=String.valueOf(cell.getStringCellValue());
break;
case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean
valueString=String.valueOf(cell.getBooleanCellValue());
break;
case HSSFCell.CELL_TYPE_FORMULA: // 公式
valueString=String.valueOf(cell.getCellFormula());
break;
case HSSFCell.CELL_TYPE_ERROR: // 故障
System.out.println(" ");
break;
}
第2个回答  2020-02-04

Spire.XLS for Java支持写入、读取Excel公式,参考:网页链接

第3个回答  2013-06-30
建议你使用正则表达式
用法见http://blog.csdn.net/allwefantasy/article/details/3136570本回答被提问者采纳
相似回答