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 );