相关疑难解决方法(0)

如何在apache poi 3.9中读取单元格中每个文本的字体颜色

[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());

}

但是,我没有得到正确的结果。我想知道如何获取每个文本的字体信息。

请告诉我您的好建议。非常感谢。祝你有美好的一天!

java excel apache-poi

5
推荐指数
1
解决办法
1753
查看次数

使用 apache-poi 4.0.1 库将单元格内容的某些部分设置为粗体/斜体

我想用粗体和斜体的组合来设置单元格值的内容。例如“这是示例 内容”。

但是,使用 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)

我期望“样本”为粗体,“内容”为斜体。但是,下划线工作正常,并且我的“示例”单词下划线正确。请建议我缺少什么?

java excel apache-poi

2
推荐指数
1
解决办法
4309
查看次数

标签 统计

apache-poi ×2

excel ×2

java ×2