我试图检查单元格(Excel文件)中的文本是否为粗体。 现在我正在使用:
final CellStyle cellStyle = row.getCell(cellIndex).getCellStyle().toString();
这并未提供有关粗体文本的任何信息。但是我发现getCellStyle()拥有几个方法,比如" getFontIndex()"。知道文本是否为粗体是否存在?
答案 0 :(得分:3)
这有点令人费解,但Font
包含粗体属性,而不是CellStyle
。您可以通过迂回方式从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
支持虽然不完整,但如果需要,您必须进行一些转换以从中检索字体。