丶无奈
2019-01-16 22:40
采纳率: 0%
浏览 4.4k

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

图片说明

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • qq_44196662 2019-01-23 17:05

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

    评论
    解决 无用
    打赏 举报
  • 丶无奈 2019-02-19 13:50

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题