mykit-excel的github链接地址为:https://github.com/sunshinelyz/mykit-excel  欢迎各位Star和Fork源码,也欢迎大家pr你牛逼哄哄的代码。

框架简述

mykit-excel插件是通用的Excel导入导出框架,旨在提供通用的Excel导入导出功能,支持以注解方式选择JavaBean中的部分字段导出,并提供注解指定Excel列标题和排序功能。

框架结构

  • mykit-excel-annotation: mykit-excel框架的注解模块,提供注解标识类中的哪些字段需要导出到Excel
  • mykit-excel-common: mykit-excel框架的通用工具类,提供通用的工具模板
  • mykit-excel-servlet: mykit-excel框架提供的Web模块,能够支持Web请求导出Excel
  • mykit-excel-springmvc: mykit-excel框架提供的SpringMVC模块,能够支持Web请求导出Excel
  • mykit-excel-test: mykit-excel框架提供的常规测试模块
  • mykit-excel-springboot: mykit-excel框架提供的SpringBoot测试模块

(1)测试常规导出Excel工具类的Java类为:io.mykit.excel.springboot.normal.export.TestExportExcelUtils,直接运行该类即可。

(2)测试注解导出Excel工具类的Java类为:io.mykit.excel.springboot.annotation.export.TestAnnotationExportExcelUtils,直接运行该类即可。

(3)测试SpringMVC导出Excel的Java类为io.mykit.excel.springboot.normal.springmvc.NormalExportExcelContorller,运行SpringBoot的启动类io.mykit.excel.springboot.MykitExcelCoreApplication 之后,使用resources/html目录下的normalExportExcel.html文件导出Excel即可。如果设置的IP和端口与mykit-excel-springboot模块不同,则修改normalExportExcel.html文件中的IP和端口即可。

(4)测试基于注解导出Java类为io.mykit.excel.springboot.annotation.springmvc.AnnotationExportExcelController,运行SpringBoot的启动类io.mykit.excel.springboot.MykitExcelCoreApplication 之后,使用resources/html目录下的annotationExportExcel.html文件导出Excel即可。如果设置的IP和端口与mykit-excel-springboot模块不同,则修改annotationExportExcel.html文件中的IP和端口即可。

注解说明

如果使用注解方式导出Excel,则需要在JavaBean的属性字段上添加@ExcelColumn注解,此注解中有三个属性,分别如下:

  • isExport:表示是否将当前字段导出到Excel,true:是;false:否
  • title:导出到Excel时的当前列的标题;
  • sort:当前字段导出到Excel的列时,在Excel中的位置,值越小,当前列越靠前。

使用方式

普通方式导出Excel

如果是普通的Java项目,只是将Excel文件导出到本地磁盘,则只需要在项目的pom.xml文件中增加如下配置

<dependency><groupId>io.mykit.excel</groupId><artifactId>mykit-excel-common</artifactId><version>1.0.0-SNAPSHOT</version>
</dependency>

创建测试JavaBean

@Data
public class Student implements Serializable {private static final long serialVersionUID = -2987207599880734028L;private int id;private String name;private String sex;public Student(){}public Student(int id, String name, String sex){this.id = id;this.name = name;this.sex = sex;}
}

接下来,在程序中按照如下方式导出Excel文件即可

public static void main(String[] args) throws Exception{ExportExcelUtils<Student> utils = new ExportExcelUtils<Student>();List<Student> list = new ArrayList<Student>();for (int i = 0; i < 10; i++) {list.add(new Student(111,"张三","男"));list.add(new Student(111,"李四","男"));list.add(new Student(111,"王五","女"));}String[] columnNames = { "ID", "姓名", "性别" };utils.exportExcel("用户导出", columnNames, list, new FileOutputStream("E:/test.xls"), ExportExcelUtils.EXCEL_FILE_2003);
}

导出的文件如下所示

注解方式导出Excel

如果是普通的Java项目,以注解方式将Excel文件导出到本地磁盘,则只需要在项目的pom.xml文件中增加如下配置

<dependency><groupId>io.mykit.excel</groupId><artifactId>mykit-excel-common</artifactId><version>1.0.0-SNAPSHOT</version>
</dependency>

创建测试JavaBean
(1) 创建父类JavaBean

@Data
public class Person implements Serializable {private static final long serialVersionUID = 3251965335162340137L;@ExcelColumn(isExport = true, title = "编号", sort = 2)private String id ;@ExcelColumn(isExport = true, title = "姓名", sort = 3)private String name;public Person(){}public Person(String id, String name){this.id = id;this.name = name;}
}

(2) 创建子类JavaBean

@Data
public class Student extends Person{private static final long serialVersionUID = -6180523202831503132L;@ExcelColumn(isExport = false, title = "班级编号", sort = 1)private String classNo;private Integer score;@ExcelColumn(isExport = true, title = "爱好", sort = 5)private String hobby;public Student(){}public Student(String id, String name, String classNo, Integer score, String hobby){super(id, name);this.classNo = classNo;this.score = score;this.hobby = hobby;}
}

接下来,在程序中按照如下方式导出Excel文件即可

public class TestAnnotationExportExcelUtils {public static void main(String[] args) throws FileNotFoundException {// 准备数据List<Student> list = new ArrayList<Student>();for (int i = 1; i <= 10; i++) {list.add(new Student("00" + i, "张三", "001", 100, "篮球"));}AnnotationExcelExportUtils<Student> utils = new AnnotationExcelExportUtils<Student>();utils.exportExcel("用户导出", list, new FileOutputStream("e:/E:/test.xls"), Student.class, AnnotationExcelExportUtils.EXCEL_FILE_2003);}
}

导出的文件如下所示

Web方式导出Excel

如果是基于Java Web或Spring MVC项目,需要导出Excel,则需要在项目的pom.xml文件中,加入如下配置

<dependency><groupId>io.mykit.excel</groupId><artifactId>mykit-excel-servlet</artifactId><version>1.0.0-SNAPSHOT</version>
</dependency>

创建测试JavaBean

@Data
public class Student implements Serializable {private static final long serialVersionUID = -2987207599880734028L;private int id;private String name;private String sex;public Student(){}public Student(int id, String name, String sex){this.id = id;this.name = name;this.sex = sex;}
}

接下来,在程序中按照如下方式导出Excel文件即可

@RequestMapping("/excel")
public void getExcel(HttpServletRequest request, HttpServletResponse response) throws Exception {// 准备数据List<Student> list = new ArrayList<Student>();for (int i = 0; i < 10; i++) {list.add(new Student(111,"张三","男"));list.add(new Student(111,"李四","男"));list.add(new Student(111,"王五","女"));}String[] columnNames = { "ID", "姓名", " 性别"};String fileName = "springboot_excel";ExportExcelWrapper<Student> util = new ExportExcelWrapper<Student>();util.exportExcel(fileName, fileName, columnNames, list, response, ExportExcelUtils.EXCEL_FILE_2003);
}

导出的文件如下所示

基于注解的Web方式导出Excel

如果是基于Java Web或Spring MVC项目,需要基于注解导出Excel,则需要在项目的pom.xml文件中,加入如下配置

<dependency><groupId>io.mykit.excel</groupId><artifactId>mykit-excel-servlet</artifactId><version>1.0.0-SNAPSHOT</version>
</dependency>

创建测试JavaBean
(1) 创建父类JavaBean

@Data
public class Person implements Serializable {private static final long serialVersionUID = 3251965335162340137L;@ExcelColumn(isExport = true, title = "编号", sort = 2)private String id ;@ExcelColumn(isExport = true, title = "姓名", sort = 3)private String name;public Person(){}public Person(String id, String name){this.id = id;this.name = name;}
}

(2) 创建子类JavaBean

@Data
public class Student extends Person{private static final long serialVersionUID = -6180523202831503132L;@ExcelColumn(isExport = false, title = "班级编号", sort = 1)private String classNo;private Integer score;@ExcelColumn(isExport = true, title = "爱好", sort = 5)private String hobby;public Student(){}public Student(String id, String name, String classNo, Integer score, String hobby){super(id, name);this.classNo = classNo;this.score = score;this.hobby = hobby;}
}

接下来,在程序中按照如下方式导出Excel文件即可

@Controller
@RequestMapping(value = "/annotation/export")
public class AnnotationExportExcelController {@RequestMapping("/excel")public void getExcel(HttpServletRequest request, HttpServletResponse response) throws Exception {// 准备数据List<Student> list = new ArrayList<Student>();for (int i = 1; i <= 10; i++) {list.add(new Student("00" + i, "张三", "001", 100, "篮球"));}String fileName = "springboot_excel";ExportExcelWrapper<Student> wrapper = new ExportExcelWrapper<Student>();wrapper.annotationExportExcel(fileName, fileName, list, Student.class, response, ExportExcelWrapper.EXCEL_FILE_2003);}
}

导出的文件如下所示

前端测试代码

前端测试代码放在mykit-excel-springboot模块的src/main/resources/html目录下,修改html文件中的连接地址后,将其放在Tomcat或其他Web容器中,进行测试即可。

测试方式

常规测试

直接运行mykit-excel-springboot项目中的io.mykit.excel.springboot.normal.export.TestExportExcelUtils类即可

基于注解的常规测试

直接运行mykit-excel-springboot项目中的io.mykit.excel.springboot.annotation.export.TestAnnotationExportExcelUtils类即可

Web测试

启动mykit-excel-springboot项目,即运行mykit-excel-springboot项目中的io.mykit.excel.springboot.MykitExcelCoreApplication类, 将mykit-excel-springboot项目的src/main/resources/html下的normalExportExcel.html文件发布到Tomcat等Web容器中访问normalExportExcel.html文件的连接地址, 打开页面点击“Submit”按钮即可。

基于注解的Web测试

启动mykit-excel-springboot项目,即运行mykit-excel-springboot项目中的io.mykit.excel.springboot.MykitExcelCoreApplication类, 将mykit-excel-springboot项目的src/main/resources/html下的annotationExportExcel.html文件发布到Tomcat等Web容器中访问annotationExportExcel.html文件的连接地址, 打开页面点击“Submit”按钮即可。

mykit-excel之——这是我用过的最好用的导出Excel的工具类相关推荐

  1. bootstraptable导出excel独立使用_JavaWeb系列之-一小时搞定POI导出Excel

    课程简介: 课程目标:通过本视频,可以在一小时之内快速实现使用Apache POI组件导出excel,您是不是项目中用到这个功能了,是不是懒得从网上查代码改代码呢?这个简短的小视频适合您. 适用人群: ...

  2. java多表头导出excel表格_【每日一点】1. Java如何实现导出Excel单表头或多表头

    一.背景 在后台项目中,经常会遇到将呈现的内容导出到Excel的需求,通过都是导出单个表头的Excel文件,如果存在级联关系的情况下,也就需要导出多表头的场景.今天这篇文章就是分享导出Excel单表头 ...

  3. 将Excel中的数据导入html以及将html表格数据导出Excel

    导入Excel: html: <input type="file" onchange="importExcel(this,false,function(data){ ...

  4. excel怎么批量提取指定网站内容-免费指定网站提取导出excel软件

    excel怎么批量提取指定网站内容?Excel是人们经常使用的一种办公软件,掌握正确的使用方法和技巧是很有用的Excel是Microsoft为使用Windows和Apple Macintosh操作系统 ...

  5. 导Excel数据到Oracle的脚本,Oracle使用TOAD实现导入导出Excel数据

    在Oracle应用程序的开发过程中,访问数据库对象和编写SQL程序是一件乏味且耗费时间的工作,对数据库进行日常管理也是需要很多SQL脚本才能完成的.Quest Software为此提供了高效的Orac ...

  6. 几行代码就能实现复杂的 Excel 导入导出,这个工具类真心强大!

    点击关注公众号,实用技术文章及时了解 功能介绍 IMPORT ExcelHandle 核心处理器 ExcelWorkbookManage excel所有工作表管理 ExcelInitConfig 配置 ...

  7. java导出excel(easypoi)

    介绍 easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 ...

  8. .net 导出excel_java导出excel(easypoi)

    介绍 easypoi功能如同名字easy,主打的功能就是容易,让一个没接触过poi的人员就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板官网地 ...

  9. 使用POI进行数据导出excel时的OOM服务挂掉,cpu飙升的问题

    在日常工作中,经常可能会使用到poi来进行数据导出,但是在导出的过程中,如果对poi类使用不当,则可能会出现一些问题,比较严重,下面对poi中三种不同的类来进行说明. 1. HSSFWorkbook( ...

  10. springboot中使用poi导出excel文件(亲测实现了第一个功能)

    1.POI简介 Jakarta POI 是一套用于访问微软格式文档的Java API. 组件HWPF用于操作Word的; 组件HSSF用于操作Excel格式文件. 2.常用组件 HSSFWorkboo ...

最新文章

  1. pip install numpy/pandas时报错的解决方法
  2. lamp不解析php,LAMP环境下不能解析php原因及排查步骤
  3. 学python要多少钱-python学习费用多少合适
  4. 移动端各种小技巧及优化体验(网上看到记录一下省的总结了)
  5. 【风险管理】风控一二三
  6. 基音检测 matlab,基于MATLAB基音检测分析.doc
  7. Angular模板高级使用
  8. 网赚新手必读:Google Adsense五条法则
  9. Win10下安装LabelImg以及使用(绝对是全网最简单的教程)
  10. Xen 安装ubuntu xen DomU
  11. 安徽大学计算机科学与技术学院刘峰,刘峰
  12. 设计模式学习笔记——状态模式(state)
  13. 西门子 HTML控件 上不了网,Win10系统在西门子PLC调试中以太网连接异常处理办法...
  14. 宇枫资本女性刚工作理财建议
  15. 职场沟通10个小技巧 让你迅速融入团队
  16. 局域网有一台计算机网络慢,局域网网速变慢的五种解决办法
  17. 未知usb设备(设备描述请求失败)_HomePod mini?电源线同样不可拆卸:但或能用USB-C移动电源供电...
  18. VS Code 必须要安装的插件(超详细)
  19. C# 抓图服务的实现
  20. luogu P1979 华容道

热门文章

  1. OfficeWeb365在线预览
  2. 朋友借了钱,为什么烦恼的却是我?
  3. 万用表怎么测电池内阻_如何用万用表测量电池内阻
  4. android手机 GPRS 已断开连接 无法连接
  5. burp suite抓取app包
  6. 英文单词频率统计工具
  7. 计算机毕业设计SpringBoot美容院后台管理系统[包运行成功]
  8. 如何运用数据分析,更好地为网络营销服务?
  9. android使用airpods软件,安卓怎么使用airpods?安卓上兼容AirPodsPro软件方法教程[多图]...
  10. 10 个让人头疼的 bug