|
|
@@ -390,7 +390,7 @@ public class ExcelUtil<T> {
|
|
|
if (cellMapTmp.containsKey(i)) {
|
|
|
value = cellMapTmp.get(i) + value;
|
|
|
}
|
|
|
- if(StringUtils.isEmpty(value) && i > 0){
|
|
|
+ if (StringUtils.isEmpty(value) && i > 0) {
|
|
|
value = cellMapTmp.get(i - 1);
|
|
|
}
|
|
|
cellMapTmp.put(i, value);
|
|
|
@@ -454,6 +454,10 @@ public class ExcelUtil<T> {
|
|
|
val = Convert.toBigDecimal(val);
|
|
|
} else if (Date.class == fieldType || LocalDate.class == fieldType) {
|
|
|
if (val instanceof String) {
|
|
|
+ String dateFormat = field.getAnnotation(Excel.class).dateFormat();
|
|
|
+ if (StringUtils.isNotEmpty(dateFormat) && dateFormat.equals("MMdd")) {
|
|
|
+ val = String.valueOf(LocalDate.now().getYear()) + val;
|
|
|
+ }
|
|
|
val = LocalDateUtil.parseDate(val);
|
|
|
} else if (val instanceof Double) {
|
|
|
val = DateUtil.getJavaDate((Double) val);
|
|
|
@@ -1353,9 +1357,9 @@ public class ExcelUtil<T> {
|
|
|
return row;
|
|
|
}
|
|
|
Object val = "";
|
|
|
- try {
|
|
|
- Cell cell = row.getCell(column);
|
|
|
- if (StringUtils.isNotNull(cell)) {
|
|
|
+ Cell cell = row.getCell(column);
|
|
|
+ if (StringUtils.isNotNull(cell)) {
|
|
|
+ try {
|
|
|
if (cell.getCellType() == CellType.NUMERIC || cell.getCellType() == CellType.FORMULA) {
|
|
|
val = cell.getNumericCellValue();
|
|
|
if (DateUtil.isCellDateFormatted(cell)) {
|
|
|
@@ -1375,10 +1379,9 @@ public class ExcelUtil<T> {
|
|
|
} else if (cell.getCellType() == CellType.ERROR) {
|
|
|
val = cell.getErrorCellValue();
|
|
|
}
|
|
|
-
|
|
|
+ } catch (Exception e) {
|
|
|
+ return String.valueOf(cell.getRichStringCellValue());
|
|
|
}
|
|
|
- } catch (Exception e) {
|
|
|
- return val;
|
|
|
}
|
|
|
return val;
|
|
|
}
|