Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pig-mesh/excel-spring-boot-starter
本项目旨在为用户提供一个便捷的 Excel 导出解决方案。基于阿里巴巴的 EasyExcel 库,结合 Spring Boot 框架,封装并优化了 Excel 文件的导出流程,帮助开发者更高效地实现数据导出功能。
https://github.com/pig-mesh/excel-spring-boot-starter
ai easyexcel excel java spring spring-boot
Last synced: about 9 hours ago
JSON representation
本项目旨在为用户提供一个便捷的 Excel 导出解决方案。基于阿里巴巴的 EasyExcel 库,结合 Spring Boot 框架,封装并优化了 Excel 文件的导出流程,帮助开发者更高效地实现数据导出功能。
- Host: GitHub
- URL: https://github.com/pig-mesh/excel-spring-boot-starter
- Owner: pig-mesh
- License: apache-2.0
- Created: 2020-03-29T02:46:58.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-09-17T14:56:36.000Z (about 2 months ago)
- Last Synced: 2024-09-17T18:41:29.634Z (about 2 months ago)
- Topics: ai, easyexcel, excel, java, spring, spring-boot
- Language: Java
- Homepage: https://www.yuque.com/pig4cloud/ogf9nv
- Size: 311 KB
- Stars: 457
- Watchers: 11
- Forks: 148
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
以下是基于你提供的内容生成的开源项目 `excel-spring-boot-starter` 的 README 示例:
---
# Excel Spring Boot Starter
`excel-spring-boot-starter` 是一个基于 `EasyExcel` 实现的 Spring Boot Starter,用于简化 Excel 的读写操作。`EasyExcel` 是一个 Java 开源项目,旨在以尽可能低的内存消耗实现对 Excel 文件的读写。通过 `EasyExcel`,你可以在仅使用 64M 内存的情况下,在 1 分钟内读取 75M(46 万行,25 列)的 Excel 文件。
- 更多详细的使用说明,请参考文档:[https://www.yuque.com/pig4cloud/ogf9nv](https://www.yuque.com/pig4cloud/ogf9nv)
## 功能概述
- 轻松集成到 Spring Boot 项目中,快速实现 Excel 文件的导入和导出。
- 通过注解配置导入和导出的 Excel 文件格式。
- 提供了简洁易用的 API,极大地减少了手动处理 Excel 文件的工作量。## 依赖引用
项目已经上传至 Maven 中央仓库,只需引入以下依赖即可使用:
| 版本 | 支持版本 |
|-------|-------------------|
| 3.3.1 | 适配 Spring Boot 3.x |
| 1.2.7 | 适配 Spring Boot 2.x |在 `pom.xml` 中添加以下依赖:
```xml
com.pig4cloud.excel
excel-spring-boot-starter
${lastVersion}```
## 导入 Excel
### 控制器示例
你可以通过在接口方法中使用 `@RequestExcel` 注解来接收上传的 Excel 文件并将其解析为 Java 对象列表:
```java
@PostMapping("/upload")
public void upload(@RequestExcel List dataList, BindingResult bindingResult) {
// JSR 303 校验通用校验获取失败的数据
List errorMessageList = (List) bindingResult.getTarget();
}
```### 实体类定义
需要先定义与 Excel 表格对应的实体类,并使用 `@ExcelProperty` 注解来标注 Excel 列的索引:
```java
@Data
public class Demo {
@ExcelProperty(index = 0)
private String username;@ExcelProperty(index = 1)
private String password;
}
```### 示例表格
下图展示了与上述实体类对应的 Excel 表格:
![Example Excel](https://minio.pigx.top/oss/1618560470.png)
## 导出 Excel
你只需在控制器方法中返回一个 `List`,并使用 `@ResponseExcel` 注解即可将数据导出为 Excel 文件:
```java
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ResponseExcel {
String name() default "";
ExcelTypeEnum suffix() default ExcelTypeEnum.XLSX;
String password() default "";
Sheet[] sheets() default @Sheet(sheetName = "sheet1");
boolean inMemory() default false;
String template() default "";
String[] include() default {};
String[] exclude() default {};
Class extends WriteHandler>[] writeHandler() default {};
Class extends Converter>[] converter() default {};
Class extends HeadGenerator> headGenerator() default HeadGenerator.class;
}
```## 使用文档
更多详细的使用说明,请参考文档:[https://www.yuque.com/pig4cloud/ogf9nv](https://www.yuque.com/pig4cloud/ogf9nv)