apache poi 4.0.1设置单元格为数值类型但是打开excel提示单元格为非数字类型

// 整数
if (type == 1) {
                cell.setCellType(CellType.NUMERIC);
                XSSFDataFormat format = xssfWorkbook.createDataFormat();
                cellStyle.setDataFormat(format.getFormat("0")); 
                cell.setCellValue(PublicUtils.objToDou(value, 0D));
            }// 浮点数
            else if (type == 2) {
                cell.setCellType(CellType.NUMERIC);
                DataFormat format = workbook.createDataFormat();
                String dateFormat = "0.00";
                if (valMap.containsKey("format")) {
                    dateFormat = (String) valMap.get("format");
                    if (PublicUtils.isEmpty(dateFormat)) {
                        dateFormat = "0.00";
                    }
                    cellStyle.setDataFormat(format.getFormat(dateFormat)); 
                }
                cell.setCellValue(PublicUtils.objToDou(value, 0D));
            } 

图片说明

也许你该加个 Integer.valueOf(String s);
(作用:将字符串类型的数字转换成int类型)

数字类型在设置值的时候不需要添加setCellType属性,加上之后就会变成自定义类型,反而弄不成自己想要的格式