使用JAVA中的JXL api从基于公式的单元格中获取垃圾内容

时间:2009-11-04 04:55:18

标签: jxl

如果我正在使用公式,我在使用JXL api获取单元格内容时遇到问题 在xls表中。现在我正在使用公式 - IF($ L10 =“”,“”,+ ROUND($ L10 * 1.375,3)) 单元格,但当单元格值为空时,当我调用cell.getContents()方法时,我会得到垃圾字符,代码片段如下 - >>

Workbook = Workbook.getWorkbook(p_sourceFile);

excelsheet = workbook.getSheet(0);
for (int row = 1; row < noOfRows; row++) 
{ 
   cell = excelsheet.getCell(col, row);
   content = cell.getContents();

   System.out.println("content-" + content); //Is giving me junk character ? when the cell value is blank.

   ...

如果有人能帮助我,那将是一个很大的帮助!!!

此致 阿米特

1 个答案:

答案 0 :(得分:0)

试试这个:

NumberFormulaCell cell = (NumberFormulaCell) excelsheet.getCell(col, row);
content = cell.getValue();

来自Cell.getContents()的JavaDocs:

  

快速而脏的函数将此单元格的内容作为字符串返回。对于更复杂的内容操作,有必要将此接口转换为正确的子接口

数字公式的必要子接口是NumberFormulaCell。如果要将公式作为String获取,请调用cell.getFormula()。

我不确定我是否真的在这里回答你的问题。如果我不是,你可以发布这些打印出来的垃圾字符吗?