我導入了一個非常大的使用POI事件的excel。我得到了所有的內容,但不是單元格背景色!在poi事件中獲取單元格背景顏色
我嘗試了ExtendedFormatRecords(如here所述),但我無法確定哪個是具有行號和列號信息的前一個單元!
在我的情況下,我需要NumberRecords的顏色!
以下是我嘗試:
switch (record.getSid()) {
case BOFRecord.sid:
break;
case BoundSheetRecord.sid:
BoundSheetRecord bsr = (BoundSheetRecord) record;
System.out.println("New sheet named: " + bsr.getSheetname());
break;
case RowRecord.sid:
break;
case NumberRecord.sid: // Contains a numeric cell value
NumberRecord numrec = (NumberRecord) record;
row = numrec.getRow();
col = numrec.getColumn();
//Do something
break;
case ExtendedFormatRecord.sid:
ExtendedFormatRecord efr = (ExtendedFormatRecord) record;
if (previousSid == NumberRecord.sid) {
// row = previousRecord.getRow();
// col = previousRecord.getColumn();
// System.out.println("row: " + row + " column: " + col);
System.out.println("ExtendedFormat "+efr.getFillForeground() + "");
} else {
System.out.println("ops! not that");
}
break;
//other cases
...
}//end switch
previousSid = record.getSid();
if (previousRecord != record) {
previousRecord = null;
}
誰能幫我!?
謝謝!
http://stackoverflow.com/a/11981672/1211000 – swamy
@swamy這並沒有工作,因爲我使用[POI事件API](http://poi.apache.org/spreadsheet/how- to.html#event_api),它不允許訪問CellStyle。 – licabl