2009-11-04 21 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

相關問題