以下是我的用于读取Excel工作表内容的Java代码。

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()存储在字符串中,它就可以正常工作。但是我继续将其存储在字符串中以进行进一步处理,出现了问题。

请让我知道要进行什么处理。

最佳答案

该错误是因为getRichStringCellValue()返回HSSFRichTextStringXSSFRichTextString(取决于您的单元格是HSSFCell还是XSSFCell),并且您将其分配给String

根据您的进一步处理-

您要在HSSFRichTextString上调用applyFont还是clearFormatting吗?
然后将其存储在HSSFRichTextString / XSSFRichTextString中。

如果您实际上只想要String文本,请使用POI API中的getString()方法

根据您的评论更新

用作

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

10-06 14:01