java 设置Excle导出数字格式

import jxl.Workbook;
import jxl.WorkbookSettings;
import jxl.write.*;
import jxl.write.Number;

WorkbookSettings settings = new WorkbookSettings();
settings.setGCDisabled(true); // 关闭GC
WritableWorkbook workbook = Workbook.createWorkbook(os, settings);
WritableSheet sheet = workbook.createSheet("Sheet1", 0);

NumberFormat nf = new NumberFormat("#0.00");    //设置数字格式
WritableCellFormat wcfN = new WritableCellFormat(nf); //设置表单格式


// 若值为空,输出单元格格式为普通字符串,否则输出数字格式的单元格
sheet.addCell(StringUtils.isBlank(ObjectUtils.toString(dto.getFreight())) ?
                            new Label(index++, i, ObjectUtils.toString(dto.getFreight())) : createCell(index++, i, ObjectUtils.toString(dto.getFreight()), wcfN));
                    

设置数字格式的单元格   
 private Number createCell (int index, int i, String val, WritableCellFormat wcfN) {

//        NumberFormat nf = new NumberFormat("#0.00");    //设置数字格式
//        WritableCellFormat wcfN = new WritableCellFormat(nf); //设置表单格式
        Number labelNF = new Number(index, i, Double.parseDouble(val), wcfN); //格式化数值

        return labelNF;
    }

猜你喜欢

转载自blog.csdn.net/robinson_911/article/details/106382232