java使用POI导出Excel单元格为数字类型

第一版开发的时候,所有的单元格都是文本类型,由于需求方需要导出Excel可以直接使用函数计算,所以需要改动一下,将导出的Excel设置为数值类型。

  1. 创建XSSFCellStyle
// 此处设置数据格式
XSSFDataFormat df = wb.createDataFormat();

// 创建单元格样式
XSSFCellStyle numberStyle = wb.createCellStyle();
numberStyle.setFillForegroundColor((short) 1); //设置要添加表背景颜色
numberStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); //solid 填充
numberStyle.setAlignment(XSSFCellStyle.ALIGN_CENTER); //文字水平居中
numberStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);//文字垂直居中
numberStyle.setBorderBottom(BorderStyle.THIN); //底边框加黑
numberStyle.setBorderLeft(BorderStyle.THIN);  //左边框加黑
numberStyle.setBorderRight(BorderStyle.THIN); // 有边框加黑
numberStyle.setBorderTop(BorderStyle.THIN); //上边框加黑
// 注意#,##0.00_ 后面有一个空格
numberStyle.setDataFormat(df.getFormat("#,##0.00_ "));
 //为单元格添加背景样式
 sheet=setTitleStyle(sheet,rowNum,colNum,style1);
  1. 创建单元格,并且设置XSSFCellStyle。
private static XSSFSheet setTitleStyle(XSSFSheet sheet,int rowNum,int colNum,XSSFCellStyle style){
        for (int i = 0; i < rowNum; i++) { //需要行表格
            Row row = sheet.createRow(i); //创建行
            row.setHeight((short)600);
            for (int j = 0; j < colNum; j++) {//需要列
                row.createCell(j).setCellStyle(style);
            }
        }
        return sheet;
    }
  1. 在为单元格赋值的时候,将数据转换为Double类型。

你可能感兴趣的:(excel,java)