java怎么把List<Map<String,Object>>生成文件
时间: 2023-11-11 18:00:41 浏览: 185
你可以使用Apache POI库来生成Excel文件。以下是一个示例代码:
```java
public void generateExcel(List<Map<String, Object>> dataList, String filePath) throws IOException {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
int rowNum = 0;
Row headerRow = sheet.createRow(rowNum++);
int colNum = 0;
for (String key : dataList.get(0).keySet()) {
Cell cell = headerRow.createCell(colNum++);
cell.setCellValue(key);
}
for (Map<String, Object> data : dataList) {
Row row = sheet.createRow(rowNum++);
colNum = 0;
for (Object value : data.values()) {
Cell cell = row.createCell(colNum++);
if (value instanceof String) {
cell.setCellValue((String) value);
} else if (value instanceof Integer) {
cell.setCellValue((Integer) value);
} else if (value instanceof Double) {
cell.setCellValue((Double) value);
} else if (value instanceof Date) {
cell.setCellValue((Date) value);
}
}
}
FileOutputStream outputStream = new FileOutputStream(filePath);
workbook.write(outputStream);
workbook.close();
}
```
这个方法接受一个List<Map<String, Object>>作为数据源,以及一个文件路径作为输出路径。它会生成一个Excel文件,其中第一行是表头,后面的行是数据。你需要根据实际情况修改代码中的数据类型判断和文件输出路径。
阅读全文