Apache POI库解析Excel文件
以下是使用Apache POI库解析Excel文件的示例代码:
1、添加POI依赖
在pom.xml文件中添加以下依赖:
2、创建解析器
java
@Component
public class ExcelParser {
public List<User> parse(InputStream inputStream, String fileName) throws IOException {
List<User> userList = new ArrayList<>();
// 创建工作簿
try (Workbook workbook = WorkbookFactory.create(inputStream)) {
// 获取第一个Sheet
Sheet sheet = workbook.getSheetAt(0);
// 遍历每一行,并将每行数据映射为User对象
for (Row row : sheet) {
if (row.getRowNum() == 0) {
continue; // 跳过标题行
}
User user = new User();
user.setName(row.getCell(0).getStringCellValue());
user.setAge((int) row.getCell(1).getNumericCellValue());
user.setGender(row.getCell(2).getStringCellValue());
userList.add(user);
}
} catch (Exception e) {
throw new IOException("Failed to parse Excel file: " + fileName, e);
}
return userList;
}
}
3、在Controller中使用解析器
在Spring Boot web应用程序中,我们可以将文件上传到服务器,并使用上面创建的Excel解析器来解析它。以下是一个简单的Controller方法,用于处理文件上传请求,并使用Excel解析器解析上传的Excel文件。
java
@RestController
@RequestMapping("/api/excel")
public class ExcelController {
@Autowired
private ExcelParser excelParser;
@PostMapping("/parse")
public ResponseEntity<List<User>> parseExcel(@RequestParam("file") MultipartFile file) {
try {
List<User> userList = excelParser.parse(file.getInputStream(), file.getOriginalFilename());
return ResponseEntity.ok(userList);
} catch (IOException e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
}
}
}
这个例子中,我们使用了Spring Boot的MultipartFile来接收上传的Excel文件,然后使用Excel解析器将文件解析为用户列表。最终,我们将解析后的用户列表作为响应返回给客户端。
总结:使用Apache POI库解析Excel需要先创建工作簿和Sheet,然后遍历每一行并将其映射为Java对象。以上是一个简单的示例代码,你可以根据自己的需求进行修改和扩展。
本文来自博客园,作者:韩小二,转载请注明原文链接:https://www.cnblogs.com/henry-2020/p/17353133.html
分类:
java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了