导出
第一次写记录。如有不对,还请指正。
今天前辈让更改导出单元格格式,关于预算的改成数值格式,日期改成日期格式。
看遍了网上好多人写的和其他前辈写的,都不行,最后试了一下试出来了。
日期格式
CellStyle dateStyle = wb.createCellStyle();
dateStyle.setAlignment(HorizontalAlignment.CENTER);
dateStyle.setVerticalAlignment(VerticalAlignment.CENTER);
dateStyle.setFont(dataFont);
CreationHelper createHelper=wb.getCreationHelper();
dateStyle.setDataFormat(createHelper.createDataFormat().getFormat("yyyy/M/d"));
if (!StringHelper.IsEmptyOrNull(columnValue)) {
try {
valueT = columnValue == null ? "" : String.valueOf(columnValue);
valueT = valueT.replace("-", "/");
Date date1 = new SimpleDateFormat("yyyy/M/d").parse(valueT);
cell.setCellValue(date1);
} catch (java.text.ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else {
cell.setCellValue("");
}
cell.setCellStyle(dateStyle);
数值格式
valueT = columnValue == null ? "" : String.valueOf(columnValue);
CellStyle numberStyle = wb.createCellStyle();
numberStyle.setAlignment(HorizontalAlignment.CENTER);
numberStyle.setVerticalAlignment(VerticalAlignment.CENTER);
numberStyle.setFont(dataFont);
DataFormat df = wb.createDataFormat();
if (!StringHelper.IsEmptyOrNull(valueT)) {
cell.setCellValue((new BigDecimal(valueT)).doubleValue());
}else {
cell.setCellValue("");
}
numberStyle.setDataFormat(df.getFormat("0.00_ "));
cell.setCellStyle(numberStyle);