spring boot上传excel文件并解析
时间: 2023-12-23 11:04:24 浏览: 83
spring boot多文件上传、单文件上传、Excel解析.rar
以下是使用Spring Boot上传Excel文件并解析的步骤:
1. 添加依赖
在 `pom.xml` 文件中添加以下依赖:
```xml
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
```
2. 创建Controller
创建一个Controller类,用于处理上传文件的请求:
```java
@RestController
public class FileUploadController {
@PostMapping("/upload")
public ResponseEntity<?> upload(@RequestParam("file") MultipartFile file) {
try {
// 解析Excel文件
List<List<String>> data = readExcel(file);
return ResponseEntity.ok(data);
} catch (IOException e) {
e.printStackTrace();
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("上传失败");
}
}
private List<List<String>> readExcel(MultipartFile file) throws IOException {
Workbook workbook = WorkbookFactory.create(file.getInputStream());
Sheet sheet = workbook.getSheetAt(0);
List<List<String>> data = new ArrayList<>();
for (Row row : sheet) {
List<String> rowData = new ArrayList<>();
for (Cell cell : row) {
rowData.add(cell.getStringCellValue());
}
data.add(rowData);
}
return data;
}
}
```
3. 创建前端页面
创建一个HTML页面,用于上传Excel文件:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>上传Excel文件</title>
</head>
<body>
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<button type="submit">上传</button>
</form>
</body>
</html>
```
4. 启动应用程序
启动应用程序,并访问上传Excel文件的页面。选择一个Excel文件并上传,应用程序将解析文件并返回文件数据。
阅读全文