//设定自定义格式的内容,以下面这种格式 CellStyle cellStyleDate=workbook.createCellStyle(); DataFormat format= workbook.createDataFormat(); //设定时间格式 cellStyleDate.setDataFormat(format.getFormat("yyyy-mm-dd hh:mm:ss")); //设置值(Date) cell.setCellValue((Date)value); cell.setCellStyle(cellStyleDate);
//设定内置格式的,以下面这种格式 CellStyle cellStyleDouble = workbook.createCellStyle(); cellStyleDouble.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00")); cell.setCellValue(Double.valueOf(value.toString())); cell.setCellStyle(cellStyleDouble);
org.apache.poi.ss.usermodel.BuiltinFormats中有内置格式的列举 private static final String[] _formats = new String[]{"General", "0", "0.00", "#,##0", "#,##0.00", "\"$\"#,##0_);(\"$\"#,##0)", "\"$\"#,##0_);[Red](\"$\"#,##0)", "\"$\"#,##0.00_);(\"$\"#,##0.00)", "\"$\"#,##0.00_);[Red](\"$\"#,##0.00)", "0%", "0.00%", "0.00E+00", "# ?/?", "# ??/??", "m/d/yy", "d-mmm-yy", "d-mmm", "mmm-yy", "h:mm AM/PM", "h:mm:ss AM/PM", "h:mm", "h:mm:ss", "m/d/yy h:mm", "reserved-0x17", "reserved-0x18", "reserved-0x19", "reserved-0x1A", "reserved-0x1B", "reserved-0x1C", "reserved-0x1D", "reserved-0x1E", "reserved-0x1F", "reserved-0x20", "reserved-0x21", "reserved-0x22", "reserved-0x23", "reserved-0x24", "#,##0_);(#,##0)", "#,##0_);[Red](#,##0)", "#,##0.00_);(#,##0.00)", "#,##0.00_);[Red](#,##0.00)", "_(* #,##0_);_(* (#,##0);_(* \"-\"_);_(@_)", "_(\"$\"* #,##0_);_(\"$\"* (#,##0);_(\"$\"* \"-\"_);_(@_)", "_(* #,##0.00_);_(* (#,##0.00);_(* \"-\"??_);_(@_)", "_(\"$\"* #,##0.00_);_(\"$\"* (#,##0.00);_(\"$\"* \"-\"??_);_(@_)", "mm:ss", "[h]:mm:ss", "mm:ss.0", "##0.0E+0", "@"};
注意:设定有格式的值的时候一定要使用相对应的java类型,比如日期的就用Date,小数的用Double,否则会出现设置完以后单元格格式是对的,但是值是字符的情况(单击一下就变啦)。
版权声明:本文为qq_42002393原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。