// 整数
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属性,加上之后就会变成自定义类型,反而弄不成自己想要的格式