「starter推荐」简单高效Excel 导出工具
2020/4/1 17:01:19
本文主要是介绍「starter推荐」简单高效Excel 导出工具,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
EasyExcel
EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。 64M内存1分钟内读取75M(46W行25列)的Excel,当然还有急速模式能更快,但是内存占用会在100M多一点
spring boot stater依赖
方便在 web 环境下使用 easyexcel
,已上传至 maven 仓库
<dependency> <groupId>com.pig4cloud.excel</groupId> <artifactId>excel-spring-boot-starter</artifactId> <version>0.0.2</version> </dependency> 复制代码
使用方法
只需要在 Controller
层返回 List 并增加 @ResponseExcel
注解即可
@Documented @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface ResponseExcel { String name() default ""; ExcelTypeEnum suffix() default ExcelTypeEnum.XLSX; String password() default ""; String[] sheet() default {}; boolean inMemory() default false; String template() default ""; String[] include() default {}; String[] exclude() default {}; Class<? extends WriteHandler>[] writeHandler() default {}; Class<? extends Converter>[] converter() default {}; } 复制代码
基础用法
返回单 sheet
, 全部字段导出
@ResponseExcel(name = "lengleng", sheet = "demoList") @GetMapping("/e1") public List<DemoData> e1() { List<DemoData> dataList = new ArrayList<>(); for (int i = 0; i < 100; i++) { DemoData data = new DemoData(); data.setUsername("tr1" + i); data.setPassword("tr2" + i); dataList.add(data); } return dataList; } // 实体对象 @Data public class DemoData { private String username; private String password; } 复制代码
自定义字段属性
@Data public class DemoData { @ColumnWidth(50) // 定义宽度 @ExcelProperty("用户名") // 定义列名称 @ContentStyle(fillPatternType = FillPatternType.SOLID_FOREGROUND, fillForegroundColor = 40) private String username; @ExcelProperty("密码") private String password; } 复制代码
忽略部分字段
@Data public class DemoData { @ColumnWidth(50) // 定义宽度 @ExcelProperty("用户名") // 定义列名称 @ContentStyle(fillPatternType = FillPatternType.SOLID_FOREGROUND, fillForegroundColor = 40) private String username; @ExcelProperty("密码") private String password; } 复制代码
导出多sheet
@ResponseExcel(name = "lengleng", sheet = {"第一个sheet","第二个sheet"}) @GetMapping("/e1") public List<List<DemoData>> e1() { List<List<DemoData>> lists = new ArrayList<>(); lists.add(list()); lists.add(list()); return lists; } 复制代码
设置导出加密码
@ResponseExcel(name = "lengleng", sheet = "sheetName",password = "lengleng") @GetMapping("/e1") public List<List<DemoData>> e1() { List<List<DemoData>> lists = new ArrayList<>(); lists.add(list()); lists.add(list()); return lists; } 复制代码
高级用法模板导出
@ResponseExcel(name = "模板测试excel", sheet = "sheetName",template = "example.xlsx") @GetMapping("/e1") public List<DemoData> e1() { return list(); } 复制代码
其他用法
理论上支持 alibaba/easyexcel v2.1.6 版本的大部分配置 支持 alibaba/easyexcel 原生的配置注解 github stater 地址,可fork 魔改
『★★★★★』 基于Spring Boot 2.2、 Spring Cloud Hoxton & Alibaba、 OAuth2 的RBAC 权限管理系统
这篇关于「starter推荐」简单高效Excel 导出工具的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升