JXL尝试在设置背景颜色时修改引用的格式

时间:2011-08-23 15:59:52

标签: java exception jxl

尝试执行以下代码时:

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

我得到了这个例外:

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

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

1 个答案:

答案 0 :(得分:5)

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

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

WritableFont font = new WritableFont(WritableFont.createFont("Calibri"), 11);
WritableCellFormat format = new WritableCellFormat(font);
format.setBackground(Colour.LIGHT_GREEN, Pattern.SOLID);