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

标签 java excel apache-poi

[1 个单元格中的文本]
ABC(粉红色)
DEF(黑色)
GHI(红色)

我必须像上面那样检查单元格中文本的字体颜色。 (对不起,我不能上传图片) 第一行的颜色是粉红色。 下一行的颜色是黑色和红色。

如您所见,我无法使用 getCellStyle() 方法,因为该单元格具有 3 个字体属性。

我输入的源代码如下。

XSSFCell cell = row.getCell(0);

XSSFRichTextString value = cell.getRichStringCellValue();

String[] info = value.getString().split("\n");

for(int i = 0; i < info.length; i++) {

int index = value.getString().indexOf(info);
System.out.println(value.getFontAtIndex(index).getColor());

}

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

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

最佳答案

尝试以下操作:它会起作用

   public static void differentColorInSingleCell(){
    Workbook wb = new HSSFWorkbook();
    Sheet sheet = wb.createSheet("Sheet1");
    Cell cell = sheet.createRow(0).createCell(0);
    Font Font1 = wb.createFont();
    Font1.setColor(HSSFColor.RED.index);
    Font Font2 = wb.createFont();
    Font2.setColor(HSSFColor.BLUE.index);
    CellStyle style = wb.createCellStyle();
    style.setFont(Font1);
    cell.setCellStyle(style);
    RichTextString richString = new HSSFRichTextString("RED, BLUE");
    richString.applyFont(4, 9, Font2);
    cell.setCellValue(richString);
    //Write the file Now
}

关于java - 如何读取apache poi 3.9中单元格中每个文本的字体颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20627043/

相关文章:

java - 使用迭代时超出 Clojure GC 开销限制

r - 如何提取具有特定颜色的所有单元格值(及其单元格 ID)?

excel - 我可以转换为任何对象的默认接口(interface)吗?

vba - 如何在隐藏工作表上使用 VBA 宏。并将它们藏回去

java - 用apache poi打开excel-xml

java - 加密发送到 MySQL DB 的 Android 应用程序数据

java - 获取 Log4j2 日志文件位置以写入包含日期的目录

excel - 使用 Apache POI 打开 .xlsx 文件会给出 NoClassDefFoundError InvalidFormatException

java - Apache POI XWPFRun isBold 未检测到粗体

java - 升级依赖项版本后,Android Studio无法找到类