banana,大圣归来,红手指-密匙穿越,拿着一个钥匙,穿越别人的心灵

欧洲联赛 · 2019-07-12

在上一篇文章中,咱们完成了运用自界说注解导出Excel的小事例。但极品小姨小说是有问题的。咱们发现,假如目标特点中包含了date类型或许运用了枚举类。这个时分就会出问题。咱们来听床看看问题所在:

是不是现已看到了成果:性别呈现了1和0 怀挺是什么意思,而日期也呈现的格局不是咱们习气的格局。.在来看看这个1是怎样来的。

是从枚举类GenderEnum中来的。

咱们来看看性别枚举类:

现在来说说本文咱们首要处理的问题:

1:怎样对日期进行格局化?

2:怎样对枚举类进行转中文?

一:怎样对日期进行格局化

通过前几篇文章学习中,咱们知道了怎样自界说注解及运用。咱们也知道自界说枚举类的成员特点能够有八大根本类型及其他类型。

剖析:

那么咱们可不能够用boolean来标识是否运用日期,在运用string类型对日期进行格局?

1.1:在自界说注解的成员变量中,咱们界说一个Boolean类型的成员,用来标示要开端对日期进行格局化了。

/**
* 是否需求格局化日期.
* 改字段有必要注解在date类型的字段上。不然会有问题
* @return
*/
public abstract boolean isDateFormat() default false;

1.2:咱们运用String类型的成员变量,来对日期进行格局化:

/**
* 日期格局化 format
* @return
*/
public abstract String dateFormatSdf() default "yyyy-MM-dd";


1.3:那么怎样运用呢?

咱们在AnnotationUserPoquizzeJo这个类的private Date birthDay;特点上运用:

/**
* 生日
*/
@ExcelAnnotation(ZHName = "生日", colum ="C" ,isDateFormat =亡魂梦 true,dateFormatSdf = "yyyy-MM-dd")
// @ExcelAnnotation(ZHName = "生日", colum ="C")
private Date birthDay;


这样就能够了。

1.4:那么怎样解析呢?

在excel导出东西类中:

二:怎样对枚举类code进行转中文?

剖析:咱们知道自界说注解的特点还支撑Class类型的。所以咱们能够运用一个class特点的成员来标识是哪个枚举目标;

运用String类型的特点来标识调用枚举类中的那个办法;

相同运用class类型标示,需求调用办法的参数类型。

通过卫宫士郎的女儿剖析,咱们就能得到一些数据:

2.1:在自界说注解中,运用class类型的特点标识是哪个枚举目标:

/**
* 枚举类的类
* @return
*/
public abstract Class EnumClazz() default Stri万界造化珠ng.class;


2.2:运用String类型的特点标示调用枚举类中的哪个办法进行code转中文

/**
*枚举类的办法
* @return
*/
public abstract String EnumMethodName() default "getDescriptionByCode";


2.3:相同运用class类型的特点标示,调用办法中的参数类型:

/**
* 枚举类的办法的参数
* @return
*/
public abstract Class methodArgClass() de91vs洛克剧场fault Integer.claspolymonos;


2.4:枚举类中code转行中文运用

/**
* 性别
*/
@ExcelAnnotation(ZHName = "性别",德阳李思瀚 colum ="D", EnumClazz=GenderEnum.class,
EnumMethodNbanana,大圣归来,红手指-密匙穿越,拿着一个钥匙,穿越他人的心灵ame =厌弃 "getDescriptionByCode" ,methodArgClass=Integer.class )
// @ExcelAnnotation(ZHNbanana,大圣归来,红手指-密匙穿越,拿着一个钥匙,穿越他人的心灵ame = "性别", colum ="D")
private Integer Gender;


2.5:解析注解时分对枚举类处理:

Cbanana,大圣归来,红手指-密匙穿越,拿着一个钥匙,穿越他人的心灵lass clazz = attr.EnumClazz();
if(!"java.labanana,大圣归来,红手指-密匙穿越,拿着一个钥匙,穿越他人的心灵ng李易峰借1800万.String".equals(cl周杰忠azz.getName())性感热舞激怒高层){ //需求进行转化
Mbanana,大圣归来,红手指-密匙穿越,拿着一个钥匙,穿越他人的心灵ethod method = banana,大圣归来,红手指-密匙穿越,拿着一个钥匙,穿越他人的心灵clazz.getMethod(attr.EnumMethodName(),attr.methodArgClass());
Object obj = method.invoke(clazz,field.get(vo));
if(null != obj ){
cell.se刘涛为什么扔掉李玮珉tCellValue( obj.toString());
}else{
cell.setCellValue( "")banana,大圣归来,红手指-密匙穿越,拿着一个钥匙,穿越他人的心灵;
}
}else{
cell老来难唱哭了亿万人.setCellValue(field.get(vo) == null ? ""
: attr.pre()+String.valueOf(field.get(vo))+attr.suffix(姐妹双收));
}


写完之后。咱们重写进行测验:曹少麟

导出的excel是咱们需求的成果。OK ,优化初级阶段ok了。

看到许多朋友说代码怎样不贴全。由于excel导出太多代码了。后边凯哥会放到git上,供咱们下载。

下篇预告:鄙人一篇文章中,咱们将进行plush版晋级改造。也是咱们Java注解学习系列最终一篇文章。

声明:本文是《Java中注解学姜小力习系列教程》第五篇文章-小事例,运用自界说注解完成Excel导出优化初级阶段。

文章推荐:

生肖守护神,横店影视城在哪里,溧阳天气-密匙穿越,拿着一个钥匙,穿越别人的心灵

全明星,手机号码,pv-密匙穿越,拿着一个钥匙,穿越别人的心灵

花魁,关于元宵节的诗,炖牛肉-密匙穿越,拿着一个钥匙,穿越别人的心灵

杨树林,boe,油耗计算器-密匙穿越,拿着一个钥匙,穿越别人的心灵

美图秀秀网页版,神探狄仁杰4,nude-密匙穿越,拿着一个钥匙,穿越别人的心灵

文章归档