Apache POI:创建一个类型编号的单元格,但为空

时间:2017-08-10 12:53:40

标签: java apache-poi

我正在尝试创建一个Excel文档。我需要的是有一个类型编号的列。我遇到的问题是,并非此列中的每个单元格都有一个值(其中一些应该为空)。 我有一个方法,我打电话来创建单元格。我从method参数获取“null”时遇到问题,因为setCellValue(double值)不能将null作为参数。这就是为什么我决定检查它是否为空以放置单元格类型:空。

enter image description here enter image description here

最后对我有用的是:如果值不为null,我只是将一些东西放到单元格中。这对我有用。

private void createCell(String cellStyle, String cellValue){
    cell = row.createCell(cellNumber++);
    cell.setCellStyle(styles.get(cellStyle));

    if (cellStyle.equals("numberWithDelimiters")) {
        if(cellValue!=null){
            cell.setCellValue(Integer.parseInt(cellValue));
        }

    }else if(cellStyle.equals("date")){
        Date date=new Date(Long.parseLong(cellValue));
        date.setHours(0);
        cell.setCellValue(date);
    }else{
    cell.setCellValue(cellValue);
    }
}

2 个答案:

答案 0 :(得分:2)

根据文件

 XSSFCell cell = row.createCell(1);
 cell.setCellStyle(Cell.CELL_TYPE_BLANK);
 cell.setCellType(Cell.CELL_TYPE_NUMERIC );

答案 1 :(得分:0)

@Mohit sharma 答案已弃用,用于新的 POI API:

cell.setCellType(CellType.BLANK);