使用POI恢复单元格中的粗体文本

我试图检查单元格(Excel文件)中的文本是否粗体。 现在我正在使用:

final CellStyle cellStyle = row.getCell(cellIndex).getCellStyle().toString(); 

这不会给出有关粗体文本的信息。 但是我已经看到,getCellStyle()拥有几个方法,如“getFontIndex()”。 是否存在一个知道文本是否大胆?

这有点复杂,但它是包含粗体属性,而不是CellStyle 。 尽pipe你可以通过迂回的方式从CellStyle中获取它。

 Workbook book = row.getSheet().getWorkbook(); CellStyle style = row.getCell(cellIndex).getCellStyle(); int fontIndex = style.getFontIndex(); Font font = book.getFontAt(fontIndex); if (font.getBold()) { // if you are here, the font is bold } 

这将告诉你,如果CellStyle包含一个粗体字体。 单元格中的文本可以是RichTextString但它可以是与CellStyle指定的完全不同的字体。 RichTextString支持并不完整,所以如果需要的话,你将不得不做一些强制转换来检索字体。