1.首先导入poi的相关依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.8</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>3.8-beta4</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.8</version>
</dependency>
2.当使用以下代码获取单元格的值时,可能出现数字转换成科学计数法形式
private String getCellFormatValue(Cell cell) {
String cellValue = "";
if (cell != null) {
switch (cell.getCellType()) {
case NUMERIC:
if (DateUtil.isCellDateFormatted(cell)) {
Date date = cell.getDateCellValue();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
cellValue = sdf.format(date);
} else {
// cell.setCellType(CellType.STRING);
// cellValue = cell.getStringCellValue();
cellValue = String.valueOf(cell.getNumericCellValue());
// cellValue= new DecimalFormat("0").format(cell.getNumericCellValue());
// double d=cell.getNumericCellValue();
// cellValue= new DecimalFormat("0").format(d);
if (cellValue.endsWith(".0")) {
cellValue = cellValue.replace(".0", "");
}
}
break;
case FORMULA:
case STRING:
cellValue = cell.getRichStringCellValue().getString();
break;
case BOOLEAN:
boolean comment = cell.getBooleanCellValue();
cellValue = comment ? "Y" : "N";
break;
default:
cellValue = "";
}
}
例如当传入数字类型11134444时,可能变为1.1134444E7
3.对excel传入的值进行处理时,传入对应的java对象。当判断其长度时,需要判定String字符串是否为空,否则调用String.length()方法时会报异常。