[1单元格内的文本]
ABC(粉红色)
DEF(黑色)
GHI(红色)
我必须检查像上面的单元格中的文本的字体颜色。(对不起,我无法上传图像)第一行的颜色是粉红色。接下来的行的颜色是黑色和红色。
如您所见,我不能使用getCellStyle()方法,因为单元格具有3字体属性。
我输入了如下的源代码。
XSSFCell cell = row.getCell(0);
XSSFRichTextString value = cell.getRichStringCellValue();
String[] info = value.getString().split("\n");
Run Code Online (Sandbox Code Playgroud)
for(int i = 0; i < info.length; i++) {
int index = value.getString().indexOf(info);
System.out.println(value.getFontAtIndex(index).getColor());
}
但是,我没有得到正确的结果。我想知道如何获取每个文本的字体信息。
请告诉我您的好建议。非常感谢。祝你有美好的一天!
我想用粗体和斜体的组合来设置单元格值的内容。例如“这是示例 内容”。
但是,使用 XSSFrichTextString 时这不起作用。
我正在使用 apache poi 库版本 4.0.1。我尝试使用 XSSFRichTextString 将内容设为粗体和斜体组合。我通过在方法 cell1Value.append("sample ", fontBold); 即字符串和字体中传递两个参数来附加字符串。
XSSFRichTextString cell1Value= new XSSFRichTextString("This is ");
XSSFFont fontBold= wb.createFont();
fontBold.setBold(true); //set bold
fontBold.setUnderline(HSSFFont.U_SINGLE);
XSSFFont fontItalic= wb.createFont();
fontItalic.setItalic(true); //set italic
cell1Value.append("sample ",fontBold);
cell1Value.append("content", fontItalic);
System.err.println(cell1Value.getCTRst());
Cell cell1 = row.createCell(0);
cell1.setCellValue(cell1Value);
Run Code Online (Sandbox Code Playgroud)
我期望“样本”为粗体,“内容”为斜体。但是,下划线工作正常,并且我的“示例”单词下划线正确。请建议我缺少什么?