2010-09-09 65 views
0

以下是我讀取Excel工作表內容的Java代碼。使用Apache POI的getRichStringCellValue()時出錯

String urlcnt=""; 
for (Row row : sheet) { 
{ 
Cell firstCell = row.getCell(0); 
urlcnt=firstCell.getRichStringCellValue();} 

在編譯上述代碼時出現以下錯誤。

ReadExcel.java:18: incompatible types 
found : org.apache.poi.ss.usermodel.RichTextString required: java.lang.String 
        urlcnt=firstCell.getRichStringCellValue();//This line is the cause for the error 

而是在一個字符串存儲getRichStringCellValue(),如果我只是打印單元格的值,它工作正常。但是,我會繼續將其存儲在一個字符串中,以便進一步處理髮生的問題。

請讓我知道前面要做些什麼。

回答

1

這個錯誤是因爲getRichStringCellValue()返回HSSFRichTextStringXSSFRichTextString(取決於你的細胞是否是HSSFCell或XSSFCell)且將其分配給一個String

根據您的進一步處理 -

你想在HSSFRichTextString上調用applyFontclearFormatting? 然後將其存儲在HSSFRichTextString/XSSFRichTextString中。

如果你真的想只有字符串文本,使用getString()方法從POI API

UPDATE按你的意見

使用它作爲

urlcnt=firstCell.getRichStringCellValue().getString(); 
+0

你能更小解釋性?如何將它存儲在HSSFRichTextString中? – LGAP 2010-09-09 13:49:16

+0

我想要單獨的字符串文本。進一步處理僅包括將字符串與數據庫進行比較並將其添加到數據庫中。 – LGAP 2010-09-09 13:49:50

+0

謝謝JoseK ..現在它的完美。再次感謝 :) – LGAP 2010-09-09 13:54:36