如何将SpringBoot中的内存数据导出为Excel文件?

2026-04-30 03:492阅读0评论SEO问题
  • 内容介绍
  • 相关推荐

本文共计667个文字,预计阅读时间需要3分钟。

如何将SpringBoot中的内存数据导出为Excel文件?

前言:这是本人编写的一个SpringBoot对Excel写入的方法,测试可用,待提升的地方有很多,有不妥之处请多多指出。

+ Excel2003版(后缀为.xls)最大行数是65536行,最大列数是256列。+ Excel2007及以上版本...

前言

这是本人写的一个SpringBoot对Excel写入的方法,实测能用,待提升的地方有很多,有不足之处请多多指点。

Excel2003版(后缀为.xls)最大行数是65536行,最大列数是256列。

Excel2007以上的版本(后缀为.xlsx)最大行数是1048576行,最大列数是16384列。

若数据量超出行数,需要进行脚页的控制,这一点没做,因为一般100W行已够用。

提供3种方法写入:

1.根据给定的实体类列List和列名数组arr[]进行Excel写入

2.根据给定的List和key的顺序数组key[]进行Excel写入

3.根据给定的List按顺序Excel写入,列名数组arr[]需要自行和数据列顺序进行一一对应

同名的Excel会被覆盖!!!

写入Excel所需要的几个类

1.在pom.xml加上依赖

</dependencies> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.0.1</version> </dependency> </dependencies>

2.ExcelPOJO实体类

package com.cly.utils.Excel; /** * @author : CLy * @ClassName : ExcelPOJO * @date : 2020/7/9 17:13 * 实体类所有成员变量都需要有GET,SET方法 * 所有成员变量都要加上注解@excelRescoure(value = "?"),?为Excel真实列名,必须一一对应 * @excelRescoure(value = "?"),?可为空,需要用到才赋值 * 成员变量目前只允许String,Double,Interge,Float **/ public class ExcelPOJO { public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPasswork() { return passwork; } public void setPasswork(String passwork) { this.passwork = passwork; } public String getLook() { return look; } public void setLook(String look) { this.look = look; } @excelRescoure(value = "姓名") private String name; @excelRescoure(value = "密码") private String passwork; @excelRescoure(value = "工号") private String look; @Override public String toString(){ return "name:"+this.getName()+",passwork:"+this.getPasswork()+",look:"+this.getLook(); } public ExcelPOJO() {} }

3.@interface自定义注解(用于实体类读取)

package com.cly.utils.Excel; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * @author : CLy * @ClassName : myRescoure * @date : 2020/7/10 9:31 **/ @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) public @interface excelRescoure { String value() default "";//默认为空 }

4.excelWrite类(写入Excel数据类)有很多冗余的代码,可抽离出来

package com.cly.utils.Excel; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFCellStyle; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.www.jb51.net/article/202762.htm

总结

到此这篇关于SpringBoot内存数据导出成Excel的文章就介绍到这了,更多相关SpringBoot内存数据导出成Excel内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

如何将SpringBoot中的内存数据导出为Excel文件?

本文共计667个文字,预计阅读时间需要3分钟。

如何将SpringBoot中的内存数据导出为Excel文件?

前言:这是本人编写的一个SpringBoot对Excel写入的方法,测试可用,待提升的地方有很多,有不妥之处请多多指出。

+ Excel2003版(后缀为.xls)最大行数是65536行,最大列数是256列。+ Excel2007及以上版本...

前言

这是本人写的一个SpringBoot对Excel写入的方法,实测能用,待提升的地方有很多,有不足之处请多多指点。

Excel2003版(后缀为.xls)最大行数是65536行,最大列数是256列。

Excel2007以上的版本(后缀为.xlsx)最大行数是1048576行,最大列数是16384列。

若数据量超出行数,需要进行脚页的控制,这一点没做,因为一般100W行已够用。

提供3种方法写入:

1.根据给定的实体类列List和列名数组arr[]进行Excel写入

2.根据给定的List和key的顺序数组key[]进行Excel写入

3.根据给定的List按顺序Excel写入,列名数组arr[]需要自行和数据列顺序进行一一对应

同名的Excel会被覆盖!!!

写入Excel所需要的几个类

1.在pom.xml加上依赖

</dependencies> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.0.1</version> </dependency> </dependencies>

2.ExcelPOJO实体类

package com.cly.utils.Excel; /** * @author : CLy * @ClassName : ExcelPOJO * @date : 2020/7/9 17:13 * 实体类所有成员变量都需要有GET,SET方法 * 所有成员变量都要加上注解@excelRescoure(value = "?"),?为Excel真实列名,必须一一对应 * @excelRescoure(value = "?"),?可为空,需要用到才赋值 * 成员变量目前只允许String,Double,Interge,Float **/ public class ExcelPOJO { public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPasswork() { return passwork; } public void setPasswork(String passwork) { this.passwork = passwork; } public String getLook() { return look; } public void setLook(String look) { this.look = look; } @excelRescoure(value = "姓名") private String name; @excelRescoure(value = "密码") private String passwork; @excelRescoure(value = "工号") private String look; @Override public String toString(){ return "name:"+this.getName()+",passwork:"+this.getPasswork()+",look:"+this.getLook(); } public ExcelPOJO() {} }

3.@interface自定义注解(用于实体类读取)

package com.cly.utils.Excel; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * @author : CLy * @ClassName : myRescoure * @date : 2020/7/10 9:31 **/ @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) public @interface excelRescoure { String value() default "";//默认为空 }

4.excelWrite类(写入Excel数据类)有很多冗余的代码,可抽离出来

package com.cly.utils.Excel; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFCellStyle; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.www.jb51.net/article/202762.htm

总结

到此这篇关于SpringBoot内存数据导出成Excel的文章就介绍到这了,更多相关SpringBoot内存数据导出成Excel内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

如何将SpringBoot中的内存数据导出为Excel文件?