Ошибка в использовании getRichStringCellValue () Apache POI - PullRequest
0 голосов
/ 09 сентября 2010

Ниже приведен мой Java-код для чтения содержимого листа Excel.

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 Ответ

1 голос
/ 09 сентября 2010

Ошибка в том, что getRichStringCellValue() возвращает HSSFRichTextString или XSSFRichTextString (в зависимости от того, является ли ваша ячейка HSSFCell или XSSFCell), и вы назначаете ее для String

В зависимости от дальнейшей обработки -

Вы хотите вызвать applyFont или clearFormatting для HSSFRichTextString?затем сохраните его в HSSFRichTextString / XSSFRichTextString.

Если вы действительно хотите использовать только текст String, используйте метод getString () из POI API

UPDATEсогласно вашим комментариям

Используйте как

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