springboot怎么使用 Apache POI
时间: 2024-05-17 08:17:01 浏览: 106
使用 Apache POI 可以方便地操作 Excel 文档,下面是使用 Apache POI 操作 Excel 文档的 Spring Boot 示例代码:
1. 添加 Apache POI 依赖
在 pom.xml 文件中添加以下依赖:
```xml
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
```
2. 编写 Excel 操作类
```java
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Component;
import java.io.File;
import java.io.FileOutputStream;
import java.util.List;
@Component
public class ExcelUtil {
public void writeExcel(List<String> dataList, String filePath) throws Exception {
// 创建工作簿
Workbook workbook = new XSSFWorkbook();
// 创建工作表
Sheet sheet = workbook.createSheet();
// 创建表头
Row headerRow = sheet.createRow(0);
Cell headerCell = headerRow.createCell(0);
headerCell.setCellValue("数据列表");
// 写入数据
int rowNum = 1;
for (String data : dataList) {
Row row = sheet.createRow(rowNum++);
Cell cell = row.createCell(0);
cell.setCellValue(data);
}
// 保存工作簿
File file = new File(filePath);
FileOutputStream fos = new FileOutputStream(file);
workbook.write(fos);
fos.close();
}
}
```
3. 在 Controller 中使用 ExcelUtil 类
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
@RestController
public class ExcelController {
@Autowired
private ExcelUtil excelUtil;
@GetMapping("/export")
public String exportExcel() throws Exception {
List<String> dataList = new ArrayList<>();
dataList.add("数据1");
dataList.add("数据2");
dataList.add("数据3");
String filePath = "data.xlsx";
excelUtil.writeExcel(dataList, filePath);
return "成功导出 Excel 文件:" + filePath;
}
}
```
运行 Spring Boot 项目,访问 http://localhost:8080/export ,会在项目根目录下生成一个 data.xlsx 文件,其中包含了 dataList 中的数据。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)