我一直在学习如何使用jXL API,因为我是新手。我有一个Excel表,我想根据真/假条件为单元格的数据着色。例如,如果条件为真,它必须是绿色的,如果条件失败,则为红色。excel表格中使用jxl的单元格的不同颜色
我试图在使用jxl api将数据写入excel表格时实现此目的。
我一直试图完成的代码片段如下。
用于写入Excel工作表的代码片段。我已经创建了一个为每个单元定义格式属性的方法,而wcellFormat1是一个类型为WritableCellFormat的变量。
for(int i=1; i11; i++){
String srnum = String.valueOf(rnum);
wsheet.addCell(new jxl.write.Label(1, rc, srnum, wcellFormat1));
wsheet.addCell(new jxl.write.Label(2, rc, "b", wcellFormat1));
wsheet.addCell(new jxl.write.Label(3, rc, "c", wcellFormat1));
wsheet.addCell(new jxl.write.Label(4, rc, "d", wcellFormat1));
wsheet.addCell(new jxl.write.Label(5, rc, "e", wcellFormat1));
wsheet.addCell(new jxl.write.Label(6, rc, "f", wcellFormat1));
rnum++;
rc++;
System.out.println(""+rnum+"\n"+rc);
}
wbook.write();
wbook.close();
此代码片段用于应用前面提到的条件。 wfontStatus是WritableFont类型的,而fCellstatus是WritableCellFormat类型的,我用它来指定格式。
public void formatCellStatus(Boolean b) throws WriteException{
if(b == true){
wfontStatus = new WritableFont(WritableFont.createFont("Arial"), WritableFont.DEFAULT_POINT_SIZE, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.GREEN);
}else{
wfontStatus = new WritableFont(WritableFont.createFont("Arial"), WritableFont.DEFAULT_POINT_SIZE, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.RED);
}
fCellstatus = new WritableCellFormat(wfontStatus);
fCellstatus.setWrap(true);
fCellstatus.setAlignment(jxl.format.Alignment.CENTRE);
fCellstatus.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
fCellstatus.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.MEDIUM, jxl.format.Colour.BLUE2);
}
我面临的问题是我不理解如何使用上面的方法来应用写入表单时所需的条件。
请帮我解决这个问题。 谢谢。
非常感谢! – 2013-02-14 05:54:03