private jxl.write.WritableCellFormat wcfF = null;//百分比格式
private jxl.write.WritableCellFormat wcfF3 = null;//两位小数格式
private jxl.write.WritableCellFormat wcfF4 = null;//两位小数格式
//处理wcfF为百分比格式
public BLExcelReportData() throws Exception {
WritableFont wf = new WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false);
DisplayFormat displayFormat = NumberFormats.PERCENT_FLOAT; //PERCENT_FLOAT表示为百分比格式
wcfF = new WritableCellFormat(wf,displayFormat);
wcfF.setAlignment(Alignment.CENTRE);
wcfF.setVerticalAlignment(VerticalAlignment.CENTRE);
wcfF.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);
wcfF3 = new WritableCellFormat(NumberFormats.FLOAT);//两位小数格式
wcfF3.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);
wcfF4 = new WritableCellFormat(new NumberFormat("#0.0000"));//四位小数
wcfF4.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);
}
在公式直接引用wcfF
Formula f = new Formula(1, 1, "A5/A4", wcfF); //A5/A4是EXCEL公式
sheet.addCell(f );
有的需要保留两位小数,我们用的是DecimalFormat,发现这个方法是把数字转化为字符串了,页面可以使用,但是导出的EXCEL就显示的不够 标准了
Formula f = new Formula(1, 1, "A5/A4", wcfF3); //两位小数格式
sheet.addCell(f );