2017-08-10 79 views
1

我试图创建一个Excel文档。我需要的是有一个类型号的列。我遇到的问题是不是这个列中的每个单元格都有一个值(其中一些应该是空的)。 我有一种方法,我称之为创建单元格。我从方法参数中得到“null”时有问题,因为setCellValue(double值)不能以null为参数。这就是为什么我决定检查它是否为空以将单元格类型:空。Apache POI:使用类型编号创建单元格,但为空

enter image description here enter image description here

在什么工作对我来说到底是:我只是把东西到细胞如果值不为空。这对我有效。

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); 
    } 
} 
+0

看一看解决方案 –

回答

1

根据文档

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

你好:)我已经尝试过这一点。之后的单元格是空的,但是单元格的类型被转换为“常规”,并且我希望与填充单元格“number”的其他单元格相同。例如,如果你使用类型编号的单元格,但不输入任何内容,它仍然是“数字”,对我来说它显示为“常规” –

+0

请参阅sceenshots –

+0

@Silvia Petrova立即检查 –

相关问题