周末撸了个Excel框架,现已开源,已升级,yyds

文章介绍了如何在JavaWeb项目中使用注解和mykit-excel库进行Excel数据导出,包括创建继承和扩展的JavaBean,以及在SpringMVC中使用@RequestMapping处理HTTP请求并导出数据。此外,还提及了与分布式技术如ActiveMQ、Kafka和RabbitMQ相关的学习资源。
摘要由CSDN通过智能技术生成

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 list = new ArrayList();

for (int i = 1; i <= 10; i++) {

list.add(new Student(“00” + i, “张三”, “001”, 100, “篮球”));

}

AnnotationExcelExportUtils utils = new AnnotationExcelExportUtils();

utils.exportExcel(“用户导出”, list, new FileOutputStream(“e:/E:/test.xls”), Student.class, AnnotationExcelExportUtils.EXCEL_FILE_2003);

}

}

导出的文件如下所示

Web方式导出Excel

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

io.mykit.excel

mykit-excel-servlet

1.0.0-SNAPSHOT

创建测试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 list = new ArrayList();

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 util = new ExportExcelWrapper();

util.exportExcel(fileName, fileName, columnNames, list, response, ExportExcelUtils.EXCEL_FILE_2003);

}

导出的文件如下所示

基于注解的Web方式导出Excel

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

io.mykit.excel

mykit-excel-servlet

1.0.0-SNAPSHOT

创建测试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 list = new ArrayList();

for (int i = 1; i <= 10; i++) {

list.add(new Student(“00” + i, “张三”, “001”, 100, “篮球”));

}

String fileName = “springboot_excel”;

ExportExcelWrapper wrapper = new ExportExcelWrapper();

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测试

(1)启动mykit-excel-springboot项目,即运行mykit-excel-springboot项目中的io.mykit.excel.springboot.MykitExcelCoreApplication

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

基于注解的Web测试

(1)启动mykit-excel-springboot项目,即运行mykit-excel-springboot项目中的io.mykit.excel.springboot.MykitExcelCoreApplication类。

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

如果你想进大厂,想升职加薪,或者对自己现有的工作比较迷茫,都可以加我微信:sun_shine_lyz交流,希望我的一些经历能够帮助到大家~~

好了,今天就到这儿吧,我是冰河,我们下期见~~

写在最后


如果你想进大厂,想升职加薪,或者对自己现有的工作比较迷茫,都可以私信我交流,希望我的一些经历能够帮助到大家~~

推荐阅读:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后总结

ActiveMQ+Kafka+RabbitMQ学习笔记PDF

image.png

  • RabbitMQ实战指南

image.png

  • 手写RocketMQ笔记

image.png

  • 手写“Kafka笔记”

image

关于分布式,限流+缓存+缓存,这三大技术(包含:ZooKeeper+Nginx+MongoDB+memcached+Redis+ActiveMQ+Kafka+RabbitMQ)等等。这些相关的面试也好,还有手写以及学习的笔记PDF,都是啃透分布式技术必不可少的宝藏。以上的每一个专题每一个小分类都有相关的介绍,并且小编也已经将其整理成PDF啦
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
style=“zoom: 33%;” />

最后总结

ActiveMQ+Kafka+RabbitMQ学习笔记PDF

[外链图片转存中…(img-nc7fg3rC-1713595390309)]

  • RabbitMQ实战指南

[外链图片转存中…(img-HBb0SfN0-1713595390309)]

  • 手写RocketMQ笔记

[外链图片转存中…(img-xL3Dx1wc-1713595390310)]

  • 手写“Kafka笔记”

[外链图片转存中…(img-iL6jNXzv-1713595390310)]

关于分布式,限流+缓存+缓存,这三大技术(包含:ZooKeeper+Nginx+MongoDB+memcached+Redis+ActiveMQ+Kafka+RabbitMQ)等等。这些相关的面试也好,还有手写以及学习的笔记PDF,都是啃透分布式技术必不可少的宝藏。以上的每一个专题每一个小分类都有相关的介绍,并且小编也已经将其整理成PDF啦
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值