博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Excel通用类工具(二)
阅读量:6962 次
发布时间:2019-06-27

本文共 1548 字,大约阅读时间需要 5 分钟。

前言

上一篇中写到了用反射来处理类中的不用的属性,但是Excel的列名还得手动输入,这样还是比较麻烦的,今天这篇就利用自定义注解来解决手动传入列名的问题;其实很简单的,只需要在上一篇的基础上加一个类就可以了; 本篇所涉及的项目是在上一篇 的项目代码上进行的二次添加;

正文

  1. 新添加一个类 新添加一个注解类 ExcelName ,完整代码如下:
import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)public @interface ExcelName {    String name() default "";}复制代码

这个类主要就是一个注解,对java的注解还不了解的可以点击这里 ,因为只需要知道每个属性得列名,所以只定义了一个属性name,该属性的值就是列名;

  1. 改造实体类 pojoA 和 pojoB ,这一只改造一个类: pojoA
public class PojoA {    @ExcelName(name = "名称")    private String name;    @ExcelName(name = "数量")    private int num;    @ExcelName(name = "价格")    private double price;    //省略set/get}复制代码

只需要在每个属性上添加上边的注解就可以了;

  1. 对核心代码进行改造 改造的代码不多,主要是将类中属性上的注解的值读取出来,放入列名中:
public class ExcelUtil
{ public HSSFWorkbook setExcel(String title, List
tList) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, IOException { Field[] declaredFields = tList.get(0).getClass().getDeclaredFields();// 1.创建Excel工作薄对象 HSSFWorkbook workbook=new HSSFWorkbook();// 2.创建Excel工作表对象 HSSFSheet sheet=workbook.createSheet(title); HSSFRow row=null;// 3.创建Excel工作表的第一行,并填充列名 row=sheet.createRow(0); for (int i=0;i

较上一篇笔记来说,主要添加的就是第三部的那一部分代码,而原来那部分就是注释了的那一部分,可以看一下有什么区别;还有就是最后添加了第五步的那一部分代码,需要提醒的是这部分代码需要在数据填充完了之后再调用;

  1. 测试类 测试还是用上一篇的测试类,这里就不贴出来了;

总结

这篇笔记主要是在上一篇的基础上添加了自定义注解,对注解的了解也进一步加深,但还是有许多的不足之处;

转载地址:http://xxwsl.baihongyu.com/

你可能感兴趣的文章
tomcat的配置及负载均衡
查看>>
android基本控件及表单(3)
查看>>
Sharepoint多站点通过apache进行多域名访问
查看>>
Windows Azure 安全控制-ACL
查看>>
linux vsftp配置大全—超完整版
查看>>
ActionBar的移除与显示
查看>>
MySQL 报错
查看>>
数据库启停标准操作流程
查看>>
Mac不能快速传输文件的原因你知道么
查看>>
Qt中QGraphicsView无法自适应图片大小问题
查看>>
经纪人靠边站 草根玩出娱乐“星”时代
查看>>
初识EHCache缓存框架(3.x版本)
查看>>
初识EHCache缓存框架(2.x版本)
查看>>
linux 查找文件夹中大文件
查看>>
分享平时工作中那些给力的shell命令
查看>>
Ubuntu could not connect to session bus错误解决方案,附带自己的修正经过
查看>>
一个人的MVP(微软全球最有价值专家),所有人的帮助!
查看>>
如何查看linux系统版本
查看>>
整形数组合并
查看>>
Redraiment的走法
查看>>