我一直在学习如何使用 jXL API,因为我是新手。我有一个 excel 表,我想根据真/假条件为单元格的数据着色。例如,如果条件为真,则必须为绿色,如果条件失败,则为红色。
我试图在使用 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);
}
我面临的问题是我不了解如何使用上述方法在写入工作表时应用必要的条件。
这个你能帮我吗。谢谢你。