【发布时间】:2012-08-30 12:46:26
【问题描述】:
我使用 POI 事件导入了一个非常大的 Excel。我得到了所有的内容,但没有单元格的背景颜色!
我尝试了 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;
}
谁能帮帮我!?
谢谢!
【问题讨论】:
-
@swamy 这不起作用,因为我使用的是POI Event API,但它无法访问 CellStyle。
标签: java excel apache-poi