先说POI导出Excel时越到这么个问题,
Cell cell = row1.createCell(index);
cell.setCellStyle(numberStyle);
cell.setCellValue(valueStr);
在numberStyle中已经设置好货币格式
numberStyle.setAlignment(CellStyle.ALIGN_CENTER);
numberStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
numberStyle.setFont(contentFont);
numberStyle.setWrapText(false); // 字段换行
numberStyle.setDataFormat(dataFormat.getFormat("#,##0.00"));
但是导出的Excel里面依然没有千分位符号
原因是valueStr值是一个String类型,需要转化成double类型即可
同样在JXL中也有这么一个坑
//正常单元格在Excel中显示的是"常规"
sheet.addCell(new Label(1, 1, "正常格式", bodyFormat));
//在Excel中显示的还是是"常规",并且wcfN中设置的千分位数字格式并不会奏效
sheet.addCell(new Label(1, 1, "1000", wcfN));
//正确的姿势
sheet.addCell(new jxl.write.Number(1, 2, 1000, wcfN));