在开发应用程序时,我们经常会遇到需要从Excel文件中导入数据的需求。Spring Boot提供了许多便捷的方式来实现Excel导入功能,本文将介绍一种简单的实现方法。
1. 添加依赖
首先,我们需要在pom.xml
文件中添加相关的依赖。在这个例子中,我们将使用Apache POI库来处理Excel文件。
<dependencies>
<!-- Apache POI -->
<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>
</dependencies>
2. 创建Controller
接下来,我们需要创建一个控制器来处理Excel导入的请求。
import org.apache.poi.ss.usermodel.*;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@Controller
public class ExcelController {
@PostMapping("/import")
public String importExcel(@RequestParam("file") MultipartFile file) throws IOException {
Workbook workbook = WorkbookFactory.create(file.getInputStream());
Sheet sheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = sheet.iterator();
List<String> data = new ArrayList<>();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
data.add(cell.getStringCellValue());
}
}
// 在这里进行数据处理
return "redirect:/";
}
}
在这个例子中,我们使用WorkbookFactory
类的create
方法来创建Workbook对象,然后通过调用getSheetAt
方法来获取第一个Sheet对象。通过迭代器遍历每一行的单元格,并将数据存储在一个List中。
请注意,这只是一个简单的示例,您可以根据您的需求来修改和扩展代码。
3. 创建文件上传表单
最后,我们需要创建一个HTML表单来上传Excel文件。
<!DOCTYPE html>
<html>
<head>
<title>Excel导入</title>
</head>
<body>
<h1>Excel导入</h1>
<form method="post" action="/import" enctype="multipart/form-data">
<input type="file" name="file" accept=".xlsx, .xls">
<button type="submit">导入</button>
</form>
</body>
</html>
在这个表单中,我们通过设置enctype
属性为multipart/form-data
,来支持文件上传。通过设置accept
属性为.xlsx, .xls
,来指定只接受Excel文件。
总结
通过使用Spring Boot和Apache POI库,实现Excel导入功能变得非常简单。在本文中,我们介绍了如何添加依赖、创建控制器来处理Excel导入请求,以及如何创建文件上传表单。您可以根据自己的需求来扩展和修改代码。希望这篇文章对您有所帮助!
本文来自极简博客,作者:文旅笔记家,转载请注明原文链接:Springboot中如何实现Excel导入功能