В текущем исходном коде нет прямого метода:
Вот как создается стиль:
public HSSFCellStyle createCellStyle()
{
...
ExtendedFormatRecord xfr = workbook.createCellXF();
short index = (short) (getNumCellStyles() - 1);
HSSFCellStyle style = new HSSFCellStyle(index, xfr, this);
return style;
}
с
public short getNumCellStyles()
{
return (short) workbook.getNumExFormats();
}
и (в InternalWorkbook)
public int getNumExFormats() {
...
return numxfs;
}
и с workbook.createCellXF (), разрешающим:
public ExtendedFormatRecord createCellXF() {
ExtendedFormatRecord xf = createExtendedFormat();
records.add(records.getXfpos()+1, xf);
records.setXfpos( records.getXfpos() + 1 );
numxfs++;
return xf;
}
Итак, что возможно из HSSFWorkbook, это позвонить:
InternalWorkbook getWorkbook() {
return workbook;
}
и затем для объекта InternalWorkbook:
public ExtendedFormatRecord getExFormatAt(int index) {
int xfptr = records.getXfpos() - (numxfs - 1);
xfptr += index;
ExtendedFormatRecord retval =
( ExtendedFormatRecord ) records.get(xfptr);
return retval;
}
public void removeExFormatRecord(ExtendedFormatRecord rec) {
records.remove(rec); // this updates XfPos for us
numxfs--;
}
Короче, из верхней книги, что-то вроде этого:
InternalWorkbook w = workbook.getWorkbook();
ExtendedFormatRecord record = w.getExFormatAt(index);
w.removeExFormatRecord(record);
Это все очень ужасно:)