springboot 导出excel
时间: 2023-10-13 14:27:42 浏览: 141
Spring Boot提供了多种方式来导出Excel文件,以下是其中几种常见的方式:
1. 使用Apache POI库
Apache POI是用于处理Microsoft Office格式文件的Java库。您可以使用它来创建和修改Excel文件。在Spring Boot中,您可以通过在pom.xml文件中添加以下依赖项来使用Apache POI库:
```
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
```
然后,您可以使用以下代码创建Excel文件:
```
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("Hello World");
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("Content-Disposition", "attachment; filename=\"example.xlsx\"");
workbook.write(response.getOutputStream());
```
2. 使用EasyExcel库
EasyExcel是一种基于POI封装的Java库,它提供了更加简单的API来生成和读取Excel文件。您可以通过在pom.xml文件中添加以下依赖项来使用EasyExcel库:
```
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.10</version>
</dependency>
```
然后,您可以使用以下代码创建Excel文件:
```
ExcelWriter writer = EasyExcel.write(response.getOutputStream()).build();
Sheet sheet = new Sheet(1, 0);
sheet.setSheetName("Sheet1");
List<List<String>> data = new ArrayList<>();
data.add(Arrays.asList("Hello", "World"));
writer.write0(data, sheet);
writer.finish();
```
3. 使用Spring Data JPA和Apache POI库
如果您正在使用Spring Data JPA,那么您可以使用Apache POI库来从数据库中查询数据并将其写入Excel文件。以下是示例代码:
```
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
List<Employee> employees = employeeRepository.findAll();
int rowNum = 0;
for (Employee employee : employees) {
Row row = sheet.createRow(rowNum++);
row.createCell(0).setCellValue(employee.getId());
row.createCell(1).setCellValue(employee.getName());
row.createCell(2).setCellValue(employee.getEmail());
}
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("Content-Disposition", "attachment; filename=\"employees.xlsx\"");
workbook.write(response.getOutputStream());
```
在这个示例中,我们从Employee实体中获取所有记录,并将它们写入Excel文件中。您需要在pom.xml文件中添加Apache POI库的依赖项,并在Spring Boot应用程序中注入employeeRepository。
阅读全文