网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Java中注解学习系列教程-4使用自定义注解实现excel导出

本文是《Java中注解学习系列教程》第四篇文章也是小案例文章。

创新互联建站是一家专注于成都网站建设、做网站与策划设计,永嘉网站建设哪家好?创新互联建站做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:永嘉等地区。永嘉做网站价格咨询:13518219792

自定义注解小案例是:使用自定义注解实现excel导出。

Excel导出分析:

Java中注解学习系列教程-4 使用自定义注解实现excel导出

有表头、数据值。一般第一行是表头,从第二行开始就是数据了。而且我们可以发现,每个表头都会对于一列。

如上图中的。主键ID对应的是A列 、姓名对应的是B列、生日对应的是C列、性别对应的是D列。

我们来分析自定义主键需要定义哪些?

1:主键范围

2:列对应的中文

3:所在那一列

经过分析我们知道,Excel中每一列对应的其实就是对象中的属性。所有我们知道了:

1:自定义注解Target的范围是Filed即@Target({ElementType.FIELD})

2:自定义注解的成员变量有一个是中文名称这个字段。我们取名为:String ZHName() ;

3:还需要有个成员变量就是指定当前这个属性或者是中文(表头)位于哪一列。我们取名为:    String colum();

经过上面分析,我们可以得到这个自定义注解具体了。

@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcelAnnotation {

    /**
     * 导出文件的中文名称
     */
    String ZHName() ;

    /**
     * 导出对应的列
     * A、B、C...
     * @return
     */
    String colum();
    }

Java中注解学习系列教程-4 使用自定义注解实现excel导出

接下来我们创建对象。开始测试:

一:创建POJO对象

创建用户对象:AnnotationUserPoJo

属性有:

/**
*注解id
**/
private Integer id;
/**
*用户名
**/
private String name;
/**
*性别
**/
private Integer Gender;

在需要的字段上使用我们自定义的ExcelAnnotation注解。

具体用法:

/**
 * 主键id
 */
@ExcelAnnotation(ZHName = "主键ID", colum ="A" )
private Integer id;

Java中注解学习系列教程-4 使用自定义注解实现excel导出

编写Excel工具类:

在这里凯哥就不贴出全码了,因为工具类中代码太多。只讲重要的。代码会放在git上的。

Java中注解学习系列教程-4 使用自定义注解实现excel导出

我们在解析的时候,先判断每个自读是否使用了注解。如使用了注解就进行解析。

三:创建junit测试类:

Java中注解学习系列教程-4 使用自定义注解实现excel导出

执行test测试。查看结果。

问题分析:

1:如果是date类型的数据,怎么格式化?在文章刚开始凯哥贴出的图中,生日是格式化好的

2:枚举类型。如性别。在文章刚开始凯哥贴出的图中,性别还是数字1.而非男或者女。

以上两个问题怎么解决呢?

凯哥将在下一篇文章中详细讲解。以及工作中常用到的怎么处理。

声明:本文由凯哥Java系列教程中Java注解讲解第四篇文章。

本文出处:http://www.kaigejava.com/article/detail/442

凯哥博客:www.kaigejava.com

凯哥公众号:凯哥Java(kaigejava)


网站名称:Java中注解学习系列教程-4使用自定义注解实现excel导出
分享地址:http://bjjierui.cn/article/gesigd.html

其他资讯