springboot 使用 easyexcel模板下载
时间: 2024-05-24 20:04:55 浏览: 194
使用 EasyExcel 实现 Spring Boot 中的 Excel 模板下载可以分为以下几个步骤:
1. 引入 EasyExcel 依赖
在 pom.xml 文件中引入 EasyExcel 的依赖:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.3.0</version>
</dependency>
```
2. 创建 Excel 模板
在 Excel 中创建好要导出的数据模板,如下图所示:
![excel模板示例](https://img-blog.csdn.net/20181207142243532?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3p6dXhpYW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75)
注意:模板中的内容可以是静态的,也可以是动态的,如日期等。
3. 编写 Controller 方法
编写 Controller 中的方法,将 Excel 模板下载到客户端。代码如下:
```java
@RestController
@RequestMapping("/excel")
public class ExcelController {
@GetMapping("/downloadTemplate")
public void downloadTemplate(HttpServletResponse response) throws IOException {
// 获取模板文件路径
String templateFileName = "xxxx.xlsx";
String path = this.getClass().getClassLoader().getResource("").getPath();
String templatePath = path + templateFileName;
// 设置响应头
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(templateFileName, "UTF-8"));
// 写出文件
OutputStream outputStream = response.getOutputStream();
InputStream inputStream = new FileInputStream(templatePath);
byte[] buffer = new byte[1024];
int read = 0;
while ((read = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, read);
}
inputStream.close();
outputStream.flush();
outputStream.close();
}
}
```
4. 测试
启动 Spring Boot 应用,访问 http://localhost:8080/excel/downloadTemplate 即可下载 Excel 模板。
注意:模板文件需要放在 resources 目录下,此处的文件名为 xxxx.xlsx。
阅读全文