easyexcel导出文件本地
时间: 2024-05-24 15:09:20 浏览: 29
EasyExcel是一个基于Java的Excel操作工具,支持读取、写入、复制、合并、样式设置等操作,同时支持大数据量的读写和导出。
如果要使用EasyExcel导出文件到本地,可以按照以下步骤进行操作:
1. 添加依赖:在pom.xml中添加EasyExcel的依赖:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>
```
2. 创建Excel文件:使用EasyExcel提供的注解标记数据模型,并创建ExcelWriter对象,指定输出文件路径。
```java
// 1. 创建输出流
OutputStream out = new FileOutputStream("output.xlsx");
// 2. 创建 ExcelWriter 对象
ExcelWriter writer = new ExcelWriter(out, ExcelTypeEnum.XLSX);
// 3. 构造要写入的数据
List<DemoData> dataList = new ArrayList<>();
dataList.add(new DemoData("张三", 18));
dataList.add(new DemoData("李四", 20));
// 4. 指定 Sheet 名称
Sheet sheet1 = new Sheet(1, 0, DemoData.class);
sheet1.setSheetName("第一个Sheet");
// 5. 写入数据
writer.write(dataList, sheet1);
// 6. 关闭资源
writer.finish();
out.close();
```
3. 下载Excel文件:通过Java的文件IO操作,将Excel文件下载到本地。
```java
// 1. 打开文件流
InputStream inputStream = new FileInputStream("output.xlsx");
// 2. 设置响应头
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment;filename=output.xlsx");
// 3. 下载文件到本地
ServletOutputStream outputStream = response.getOutputStream();
byte[] bytes = new byte[1024];
int len;
while ((len = inputStream.read(bytes)) != -1) {
outputStream.write(bytes, 0, len);
}
outputStream.close();
inputStream.close();
```