2013-12-17 51 views
4

[1個單元格文本]
ABC(粉紅色)
DEF(黑色)
GHI(紅色)
如何讀取的Apache POI 3.9

我在小區中的每個文字的字體顏色必須像上面一樣檢查單元格中文本的字體顏色。 (對不起,我無法上傳圖片) 第一排的顏色是粉紅色。 下一行的顏色是黑色和紅色。

如您所見,我無法使用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());

}

但是,我沒有得到正確的結果。 我想知道如何獲取每個文本的字體信息。

請告訴我您的好建議。 非常感謝。 祝您有美好的一天!

回答

0

嘗試以下方法:將工作

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 
} 
+0

謝謝您的詳細回答。但我已經試着去做你說的。 Poi提供了關於製作excel文件和爲每一行設置不同文本顏色的示例。我想讀取每個文本行的字體信息。當我在單元格中創建不同的文本顏色時,我必須使用applyFont方法。當我想要閱讀每個文本的字體信息時,我該怎麼辦?祝你有個美好的一天〜非常感謝〜! – user3109817

相關問題