2009-11-04 29 views
1

如果我在xls表单中使用公式 ,那么在使用JXL api获取单元格内容时遇到问题。现在,我在每个 单元格中使用公式 - IF($ L10 =“”,“”,+ ROUND($ L10 * 1.375,3)),但当单元格值为空时,我会在调用单元格时收到垃圾字符。 getContents()方法,代码剪断如下 - >>JAVA中使用JXL api的基于公式的单元格中的垃圾内容

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. 

    ... 

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

问候, 阿米特

回答

0

试试这个:

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

从JavaDoc中Cell.getContents():

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

数字公式的必需子接口是NumberFormulaCell。如果你想获得公式作为一个字符串,然后调用cell.getFormula()。

我不知道我是否真的在这里回答你的问题。如果我不是,可以发布这些打印出来的垃圾人物吗?

+0

当我创建工作簿的副本时,内容将被复制到副本工作簿而不是单元格的公式中。 – 2013-03-11 06:55:55

相关问题