当前位置: 首页 > news >正文

SpringBoot:解析excel

解析Excel文件,可以使用Apache POI库

<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version>
</dependency>

上代码: 

/*** <b>Function: </b> todo** @program: 解析excel文件* @Package: com.kingbal.king.dmp* @author: dingcho* @date: 2024/09/18* @version: 1.0* @Copyright: 2024 www.kingbal.com Inc. All rights reserved.*/
@Slf4j
@Service
public class ExcelServiceImpl implements IExcelService {@Overridepublic List<List<String>> readExcel(MultipartFile file) throws IOException {List<List<String>> data = Lists.newArrayList();Workbook workbook = new XSSFWorkbook(file.getInputStream());Sheet sheet = workbook.getSheetAt(0);Iterator<Row> rowIterator = sheet.iterator();while (rowIterator.hasNext()) {Row row = rowIterator.next();List<String> rowData = new ArrayList<>();Iterator<Cell> cellIterator = row.iterator();while (cellIterator.hasNext()) {Cell cell = cellIterator.next();rowData.add(getCellValueAsString(cell));}data.add(rowData);}workbook.close();return data;}private String getCellValueAsString(Cell cell) {switch (cell.getCellTypeEnum()) {case STRING:return cell.getStringCellValue();case NUMERIC:return String.valueOf(cell.getNumericCellValue());case BOOLEAN:return String.valueOf(cell.getBooleanCellValue());default:return "";}}
}

readExcel方法接受一个MultipartFile类型的参数,这是Spring MVC中处理文件上传的类型。然后使用Apache POI的WorkbookSheet类来读取Excel文件,并迭代每一行和每一个单元格,将单元格的值转换为字符串并存储到结果列表中。

要注意的是,这个例子假设Excel文件是XLSX格式,如果需要处理旧的XLS格式

请使用HSSFWorkbook代替XSSFWorkbook


http://www.mrgr.cn/news/29881.html

相关文章:

  • Unity类银河战士恶魔城学习总结(P117 Ice And Fire Item Effec 制作一把冰火属性的剑)
  • 论文阅读《BEVFormer v2》
  • C++:set详解
  • 基于物联网的智能超市快速结算系统
  • Python math模块:强大的数学运算利器
  • 【react】React Router基础知识
  • KeyCode及KeyCode分发机制
  • C++ 科目二 [reinterpret_cast]
  • Python VS Golng 谁更胜一筹?
  • 代码随想录Day 49|leetcode题目:42.接雨水、84.柱状图中最大矩形
  • 论文阅读 | 基于流模型和可逆噪声层的鲁棒水印框架(AAAI 2023)
  • Java零基础-抽象类详解
  • python:Django与Celery配合实现定时任务
  • Linux(ubuntu)(C语言开发-下载篇)
  • flutter Dio发送post请求
  • 八戒农场小程序V2最新源码
  • React-Hook原理
  • 数据库系统原理与应用【笔记总结】
  • Linux(Ubuntu)(终端实现helloworld输出)
  • 深入理解Spring中请求作用域的数据存储:ThreadLocal还是Spring容器?
  • javascript-数据类型
  • Cursor免费 GPT-4 IDE 工具的保姆级使用教程
  • Unity从2018.1版本开始,可以采用内置JSON进行存档和读档
  • Linux中权限和指令
  • 闯关leetcode——35. Search Insert Position
  • windows C++ 并行编程-异步消息块(一)