@ -9,6 +9,8 @@ import java.lang.reflect.Field;
@@ -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 ;
@ -314,7 +316,7 @@ public class ExcelUtil<T>
@@ -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
{
@ -431,7 +433,6 @@ public class ExcelUtil<T>
@@ -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>
@@ -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>
@@ -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>
@@ -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 ;
}
}