赞
踩
在Spring Boot框架下,你可以使用Apache POI库来实现Excel的导入和导出功能。Apache POI提供了一组API,用于读取、写入和操作Microsoft Office格式的文件,包括Excel文件。
首先,你需要将Apache POI添加到你的项目中。可以通过Maven或Gradle等构建工具来添加依赖项。
接下来,我将向你展示如何在Spring Boot中实现Excel的导入和导出功能的基本步骤。
@PostMapping("/import") public String importExcel(@RequestParam("file") MultipartFile file) { try (InputStream inputStream = file.getInputStream()) { Workbook workbook = WorkbookFactory.create(inputStream); Sheet sheet = workbook.getSheetAt(0); // 假设文件中只有一个Sheet // 遍历每一行 for (Row row : sheet) { // 遍历每个单元格 for (Cell cell : row) { // 处理单元格数据 String cellValue = cell.getStringCellValue(); // ... 进行你的业务逻辑 } } // 处理完导入逻辑后的操作 // ... return "Import successful"; } catch (IOException | InvalidFormatException e) { e.printStackTrace(); return "Import failed"; } }
在上面的代码中,我们使用MultipartFile
接收上传的Excel文件。然后,我们使用WorkbookFactory
创建一个Workbook
实例来表示Excel文件。接下来,我们获取第一个Sheet并遍历每一行和每个单元格,以处理单元格中的数据。
@GetMapping("/export") public void exportExcel(HttpServletResponse response) { try (Workbook workbook = new XSSFWorkbook()) { Sheet sheet = workbook.createSheet("Sheet1"); // 创建标题行 Row headerRow = sheet.createRow(0); headerRow.createCell(0).setCellValue("Column 1"); headerRow.createCell(1).setCellValue("Column 2"); // ... // 填充数据行 List<DataObject> data = getData(); // 获取要导出的数据 int rowNum = 1; // 从第二行开始填充数据 for (DataObject obj : data) { Row dataRow = sheet.createRow(rowNum++); dataRow.createCell(0).setCellValue(obj.getField1()); dataRow.createCell(1).setCellValue(obj.getField2()); // ... } // 设置响应头 response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setHeader("Content-Disposition", "attachment; filename=export.xlsx"); // 输出Excel文件到响应流 OutputStream outputStream = response.getOutputStream(); workbook.write(outputStream); outputStream.flush(); } catch (IOException e) { e.printStackTrace(); // 处理导出失败的情况 } }
在上述代码中,我们创建了一个Workbook
实例,并在其中创建一个Sheet。然后,我们创建标题行,并使用数据填充数据行。最后,我们将生成的Excel文件写入HttpServletResponse的输出流,以便将文件发送到客户端进行下载。
请注意,这只是一个基本示例,你可以根据自己的需求进行更多的定制和优化。同时,你还可以使用其他Apache POI提供的功能来操作Excel文件,例如设置单元格样式、合并单元格等。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。