easyexcel 3.1.1导出
时间: 2025-01-22 09:55:23 浏览: 71
### EasyExcel 3.1.1 版本导出功能使用教程
#### 创建 Maven 或 Gradle 项目依赖
为了能够顺利使用 EasyExcel 进行 Excel 文件的操作,在项目的 `pom.xml` 中添加如下依赖:
```xml
<dependency>
<groupId>com.alibaba.easyexcel</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.1</version>
</dependency>
```
对于 Gradle 用户,则应在 `build.gradle` 文件内加入相应的配置。
---
#### 实体类定义
在准备数据模型时,通常会创建一个 Java 类来映射到 Excel 表格中的列。下面是一个简单的例子,展示了如何通过注解指定字段对应的表头名称以及顺序[^3]。
```java
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class Person {
@ExcelProperty(index = 0, value = "姓名")
private String name;
@ExcelProperty(index = 1, value = "年龄")
private Integer age;
@ExcelProperty(index = 2, value = "地址")
private String address;
}
```
---
#### 编写服务层逻辑实现导出操作
接下来编写用于执行实际导出工作的业务方法。这里展示了一个基本的服务端接口设计思路,该接口接收 HTTP 请求参数并返回下载链接或直接响应文件流给前端应用。
```java
import cn.hutool.poi.excel.BigExcelWriter;
import cn.hutool.poi.excel.ExcelUtil;
import org.springframework.web.bind.annotation.GetMapping;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@RestController
@RequestMapping("/export")
public class ExportController {
@GetMapping("/personList")
public void exportPersonList(HttpServletResponse response) throws IOException {
List<Person> personList = new ArrayList<>();
// 添加一些测试数据...
for (int i=0;i<10;i++){
Person p=new Person();
p.setName("张三"+i);
p.setAge(20+i);
p.setAddress("北京市朝阳区");
personList.add(p);
}
BigExcelWriter writer = ExcelUtil.getBigWriter(response.getOutputStream());
writer.write(personList, true);
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename=data.xlsx");
writer.flush();
writer.close();
}
}
```
上述代码片段实现了将一组 `Person` 对象列表转换成 Excel 文档并通过浏览器下载的功能[^2]。
---
#### 设置样式与格式化单元格内容
除了基础的数据导出外,有时还需要对表格外观做进一步定制,比如调整字体大小、颜色填充或是设定特定区域内的边框线宽等属性。针对这些需求,EasyExcel 提供了一系列便捷的方法支持开发者轻松完成此类任务。
例如要为某个工作簿页面上的所有记录增加背景色和文字加粗效果可以这样做:
```java
// ...省略其他部分...
WriteCellStyle headStyle = new WriteCellStyle();
headStyle.setFillForegroundColor(IndexedColors.LIGHT_YELLOW.getIndex());
HorizontalCellStyleStrategy horizontalCellStyleStrategy =
new HorizontalCellStyleStrategy(headStyle,null);
EasyExcel.write(fileName).registerWriteHandler(horizontalCellStyleStrategy)
.sheet().doWrite(dataList);
```
这段代码设置了头部样式的背景色,并将其应用于整个文档中每一行的第一级标题之上[^1]。
---
阅读全文
相关推荐

















