3

在尝试执行以下代码时:

Colour selectedColour = Colour.WHITE;
myWritableCellFormat.setBackground(selectedColour);

我得到这个例外:

jxl.write.biff.JxlWriteException: Attempt to modify a referenced format

为什么是这样?作为参考,我在这两行之前使用了相同的对象来编写具有另一种颜色的单元格。这有什么重要的吗?

4

1 回答 1

6

如果要更改不同单元格的颜色,则需要创建不同的WritableFont对象并必须传递给WritableCellFormat构造函数。

即每次您需要为 WritableFont、WritableCellFormat 类创建新对象时。

WritableFont font = new WritableFont(WritableFont.createFont("Calibri"), 11);
WritableCellFormat format = new WritableCellFormat(font);
format.setBackground(Colour.LIGHT_GREEN, Pattern.SOLID);
于 2012-11-22T07:49:52.900 回答