利用jpa将数据导出到excel
时间: 2023-06-01 17:03:11 浏览: 118
Java中的数据导出excel
5星 · 资源好评率100%
1. 首先需要添加poi和poi-ooxml的依赖,这里以Maven为例:
```
<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>
```
2. 创建导出Excel的方法:
```
public void exportToExcel(List<Entity> entityList) {
// 创建Workbook对象
Workbook workbook = new XSSFWorkbook();
// 创建Sheet对象
Sheet sheet = workbook.createSheet("Sheet1");
// 创建表头行
Row headerRow = sheet.createRow(0);
// 创建表头单元格
Cell headerCell1 = headerRow.createCell(0);
headerCell1.setCellValue("ID");
Cell headerCell2 = headerRow.createCell(1);
headerCell2.setCellValue("Name");
Cell headerCell3 = headerRow.createCell(2);
headerCell3.setCellValue("Age");
// 遍历数据列表,创建行和单元格
int rowIndex = 1;
for (Entity entity : entityList) {
Row row = sheet.createRow(rowIndex++);
Cell cell1 = row.createCell(0);
cell1.setCellValue(entity.getId());
Cell cell2 = row.createCell(1);
cell2.setCellValue(entity.getName());
Cell cell3 = row.createCell(2);
cell3.setCellValue(entity.getAge());
}
// 写入文件
try (FileOutputStream fos = new FileOutputStream("output.xlsx")) {
workbook.write(fos);
} catch (IOException e) {
e.printStackTrace();
}
}
```
在这个方法中,我们首先创建了一个Workbook对象和一个Sheet对象,然后创建了表头行和表头单元格。接着,我们遍历数据列表,创建行和单元格,并把数据填充到单元格中。最后,我们将Workbook对象写入文件中。
3. 调用方法导出Excel:
```
List<Entity> entityList = entityManager.createQuery("SELECT e FROM Entity e", Entity.class).getResultList();
exportToExcel(entityList);
```
这里我们通过JPA查询出数据,然后调用上面的方法导出Excel。
注意:该方法中输出文件的地址为当前工程目录。如果想要指定输出路径,需要修改输出路径即可。
阅读全文