Ste*_*gas 3 java exception jxl
在尝试执行以下代码时:
Colour selectedColour = Colour.WHITE;
myWritableCellFormat.setBackground(selectedColour);
Run Code Online (Sandbox Code Playgroud)
我得到了这个例外:
jxl.write.biff.JxlWriteException: Attempt to modify a referenced format
Run Code Online (Sandbox Code Playgroud)
为什么是这样?作为参考,我在这两行之前使用了相同的对象来编写具有另一种颜色的单元格.这有什么重要意义吗?
小智 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);
Run Code Online (Sandbox Code Playgroud)