千家信息网

配置简单功能强大的excel工具类搞定excel导入导出工具类(一)

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,对于J2EE项目导入导出Excel是最普通和实用功能,本工具类使用步骤简单,功能强大,只需要对实体类进行简单的注解就能实现导入导出功能,导入导出操作的都是实体对象.请看一下这个类都有哪些功能:1.实体
千家信息网最后更新 2026年11月03日配置简单功能强大的excel工具类搞定excel导入导出工具类(一)

对于J2EE项目导入导出Excel是最普通和实用功能,本工具类使用步骤简单,功能强大,只需要对实体类进行简单的注解就能实现导入导出功能,导入导出操作的都是实体对象.

请看一下这个类都有哪些功能:
1.实体属性配置了注解就能导出到excel中,每个属性都对应一列.
2.列名称可以通过注解配置.
3.导出到哪一列可以通过注解配置.
4.鼠标移动到该列时提示信息可以通过注解配置.
5.用注解设置只能下拉选择不能随意填写功能.
6.用注解设置是否只导出标题而不导出内容,这在导出内容作为模板以供用户填写时比较实用.

请看一下效果图:

请看一下使用步骤:

1.写一个实体类,并设置注解配置.
2.实例化一个ExcelUtil对象,调用exportExcel或importExcel方法.

请看一个demo.

1.写一个实体类,并设置注解配置.

package com.tgb.lk.test03;

import com.tgb.lk.util.ExcelVOAttribute;

public class StudentVO {
@ExcelVOAttribute(name = "序号", column = "A")
private int id;

@ExcelVOAttribute(name = "姓名", column = "B", isExport = true)private String name;@ExcelVOAttribute(name = "年龄", column = "C", prompt = "年龄保密哦!", isExport = false)private int age;@ExcelVOAttribute(name = "班级", column = "D", combo = { "五期提高班", "六期提高班",        "七期提高班" })private String clazz;@ExcelVOAttribute(name = "公司", column = "F")private String company;//get和set方法(略)...@Overridepublic String toString() {    return "StudentVO [id=" + id + ", name=" + name + ", company="            + company + ", age=" + age + ", clazz=" + clazz + "]";}

}
2.实例化一个ExcelUtil对象,调用exportExcel或importExcel方法.
(1)导出

package com.tgb.lk.test03;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;

import com.tgb.lk.util.ExcelUtil;

/*

  • 使用步骤:
  • 1.新建一个类,例如StudentVO.
  • 2.设置哪些属性需要导出,哪些需要设置提示.
  • 3.设置实体数据
  • 4.调用exportExcel方法.
    */
    public class ExportTest03 {
    public static void main(String[] args) {
    // 初始化数据
    List list = new ArrayList();

    StudentVO vo = new StudentVO();vo.setId(1);vo.setName("李坤");vo.setAge(26);vo.setClazz("五期提高班");vo.setCompany("天融信");list.add(vo);StudentVO vo2 = new StudentVO();vo2.setId(2);vo2.setName("曹贵生");vo2.setClazz("五期提高班");vo2.setCompany("中银");list.add(vo2);StudentVO vo3 = new StudentVO();vo3.setId(3);vo3.setName("柳波");vo3.setClazz("五期提高班");list.add(vo3);FileOutputStream out = null;try {    out = new FileOutputStream("d:\\success3.xls");} catch (FileNotFoundException e) {    e.printStackTrace();}ExcelUtil util = new ExcelUtil(StudentVO.class);// 创建工具类.util.exportExcel(list, "学生信息", 65536, out);// 导出System.out.println("----执行完毕----------");

    }

}
(2)导入

package com.tgb.lk.test03;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.List;

import com.tgb.lk.util.ExcelUtil;

public class ImportTest03 {
public static void main(String[] args) {
FileInputStream fis = null;
try {
fis = new FileInputStream("d:\success3.xls");
ExcelUtil util = new ExcelUtil(
StudentVO.class);// 创建excel工具类
List list = util.importExcel("学生信息0", fis);// 导入
System.out.println(list);
} catch (FileNotFoundException e) {
e.printStackTrace();
}

}

}

看完使用步骤一定对封装的类迫不及待了吧,请继续往下看:

(1)注解实现类:

package com.tgb.lk.util;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target( { java.lang.annotation.ElementType.FIELD })
public @interface ExcelVOAttribute {

/** * 导出到Excel中的名字. */public abstract String name();/** * 配置列的名称,对应A,B,C,D.... */public abstract String column();/** * 提示信息 */public abstract String prompt() default "";/** * 设置只能选择不能输入的列内容. */public abstract String[] combo() default {};/** * 是否导出数据,应对需求:有时我们需要导出一份模板,这是标题需要但内容需要用户手工填写. */public abstract boolean isExport() default true;
注解 配置 实体 提高班 功能 信息 内容 方法 步骤 请看 工具 可以通过 对象 属性 数据 提示 实用 名称 学生 实例 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 西安纸贵互联网科技有限公司 深圳恒合互联网络科技有限公司 北京互联网科技 互联网科技的发展 易互联网科技有限公司 互联网高科技企业 居家互联网科技有限公司 衡水科技产业互联网平台 太原新华互联网科技学校怎么样 中国科技互联网公司收入 央行互联网金融科技公司 互联网企业和科技型企业 互联网科技革命什么开始 链环科技传统企业怎么转型互联网 本届互联网博览会上的黑科技 互联网科技包装股 互联网时代科技型公司的机会 广州三三互联网科技有限公司 互联网科技创新创业项目 互联网科技大会大佬 花魁咖啡 互联网的科技 互联网 科技创新 佰商互联网科技有限公司 卫星互联网科技股票 科技赋能互联网健康 北京大学互联网科技怎么样 米聚互联网科技南京有限公司排面 沐思想互联网科技有限公司 北京天晋互联网科技有限公司
0