|  | @@ -9,6 +9,8 @@ import java.lang.reflect.Field;
 | 
	
		
			
				|  |  |  import java.lang.reflect.Method;
 | 
	
		
			
				|  |  |  import java.math.BigDecimal;
 | 
	
		
			
				|  |  |  import java.text.DecimalFormat;
 | 
	
		
			
				|  |  | +import java.time.LocalDate;
 | 
	
		
			
				|  |  | +import java.time.LocalDateTime;
 | 
	
		
			
				|  |  |  import java.util.ArrayList;
 | 
	
		
			
				|  |  |  import java.util.Arrays;
 | 
	
		
			
				|  |  |  import java.util.Comparator;
 | 
	
	
		
			
				|  | @@ -132,7 +134,7 @@ public class ExcelUtil<T>
 | 
	
		
			
				|  |  |       * 当前行号
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      private int rownum;
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 标题
 | 
	
		
			
				|  |  |       */
 | 
	
	
		
			
				|  | @@ -314,7 +316,7 @@ public class ExcelUtil<T>
 | 
	
		
			
				|  |  |                              String dateFormat = field.getAnnotation(Excel.class).dateFormat();
 | 
	
		
			
				|  |  |                              if (StringUtils.isNotEmpty(dateFormat))
 | 
	
		
			
				|  |  |                              {
 | 
	
		
			
				|  |  | -                                val = DateUtils.parseDateToStr(dateFormat, (Date) val);
 | 
	
		
			
				|  |  | +                                val = parseDateToStr(dateFormat, (Date) val);
 | 
	
		
			
				|  |  |                              }
 | 
	
		
			
				|  |  |                              else
 | 
	
		
			
				|  |  |                              {
 | 
	
	
		
			
				|  | @@ -409,7 +411,7 @@ public class ExcelUtil<T>
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |          return exportExcel(list, sheetName, StringUtils.EMPTY);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 对list数据源将其里面的数据导入到excel表单
 | 
	
		
			
				|  |  |       * 
 | 
	
	
		
			
				|  | @@ -431,7 +433,6 @@ public class ExcelUtil<T>
 | 
	
		
			
				|  |  |       * @param list 导出数据集合
 | 
	
		
			
				|  |  |       * @param sheetName 工作表的名称
 | 
	
		
			
				|  |  |       * @return 结果
 | 
	
		
			
				|  |  | -     * @throws IOException
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      public void exportExcel(HttpServletResponse response, List<T> list, String sheetName)
 | 
	
		
			
				|  |  |      {
 | 
	
	
		
			
				|  | @@ -446,7 +447,6 @@ public class ExcelUtil<T>
 | 
	
		
			
				|  |  |       * @param sheetName 工作表的名称
 | 
	
		
			
				|  |  |       * @param title 标题
 | 
	
		
			
				|  |  |       * @return 结果
 | 
	
		
			
				|  |  | -     * @throws IOException
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      public void exportExcel(HttpServletResponse response, List<T> list, String sheetName, String title)
 | 
	
		
			
				|  |  |      {
 | 
	
	
		
			
				|  | @@ -823,7 +823,7 @@ public class ExcelUtil<T>
 | 
	
		
			
				|  |  |                  String dictType = attr.dictType();
 | 
	
		
			
				|  |  |                  if (StringUtils.isNotEmpty(dateFormat) && StringUtils.isNotNull(value))
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  | -                    cell.setCellValue(DateUtils.parseDateToStr(dateFormat, (Date) value));
 | 
	
		
			
				|  |  | +                    cell.setCellValue(parseDateToStr(dateFormat, (Date) value));
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  else if (StringUtils.isNotEmpty(readConverterExp) && StringUtils.isNotNull(value))
 | 
	
		
			
				|  |  |                  {
 | 
	
	
		
			
				|  | @@ -1396,4 +1396,37 @@ public class ExcelUtil<T>
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return sheetIndexPicMap;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 格式化不同类型的日期对象
 | 
	
		
			
				|  |  | +     * 
 | 
	
		
			
				|  |  | +     * @param dateFormat 日期格式
 | 
	
		
			
				|  |  | +     * @param val 被格式化的日期对象
 | 
	
		
			
				|  |  | +     * @return 格式化后的日期字符
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    public String parseDateToStr(String dateFormat, Object val)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        if (val == null)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            return "";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        String str;
 | 
	
		
			
				|  |  | +        if (val instanceof Date)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            str = DateUtils.parseDateToStr(dateFormat, (Date) val);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        else if (val instanceof LocalDateTime)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            str = DateUtils.parseDateToStr(dateFormat, DateUtils.toDate((LocalDateTime) val));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        else if (val instanceof LocalDate)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            str = DateUtils.parseDateToStr(dateFormat, DateUtils.toDate((LocalDate) val));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        else
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            str = val.toString();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return str;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 |