标签:EDA log logic 单元格 double excel poi ram except
1.设置通用方法全部转换为String,但有的客户需要保留原始类型
代码改造如下:
/**
* 按照格式方案的配置导出数据
* @param formattor 格式
* @param formatType 格式化类型
* @param value 原始数据
* @param cell 当前单元格
*/
private void formatData(String formattor, FormatType formatType, String value, Cell cell) {
if (formattor != null && formattor.length() > 0 ) {
CellStyle cellStyle = cell.getCellStyle();
XSSFDataFormat df = _excelWorkBook.createDataFormat(); //此处设置数据格式
cellStyle.setDataFormat(df.getFormat(formattor)); // 基于传递的格式设置单元格
if (formatType == FormatType.DateTime ) {
if (value != null && value.length() != 0) {
SimpleDateFormat format = new SimpleDateFormat(dateSet(value));
Date d = null;
try {
//生成时间对象
d = format.parse(value);
} catch (Exception e) {
throw new QORuntimeException(null, ExceptionCodes.ExcelExport, e);
}
cell.setCellValue(d);
} else {
cell.setCellValue("");
}
} else if (formatType == FormatType.Number) {
cell.setCellType(CellType.NUMERIC);
cell.setCellValue(Double.parseDouble(value));
} else if (formatType == FormatType.Logic) {
String[] keys = formattor.split(";")[0].split("/");
String[] values = formattor.split(";")[1].split("/");
for (int i = 0; i < keys.length; i++) {
if (value.equals(keys[i])) {
value = values[i];
}
}
cell.setCellValue(Double.parseDouble(value));
}
} else{
cell.setCellValue(value);
}
}
标签:EDA log logic 单元格 double excel poi ram except
原文地址:https://www.cnblogs.com/chinadba/p/13293321.html