java poi导出excel动态表头
时间: 2023-08-15 16:14:54 浏览: 120
要实现动态表头,你需要使用Java Poi库中的org.apache.poi.ss.usermodel包中的接口和类。下面是一个简单的例子,可以帮助你开始:
```java
// 创建Excel文档
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
// 创建表头行
Row headerRow = sheet.createRow(0);
// 创建表头单元格并赋值
List<String> headers = Arrays.asList("姓名", "年龄", "性别");
for (int i = 0; i < headers.size(); i++) {
Cell cell = headerRow.createCell(i);
cell.setCellValue(headers.get(i));
}
// 创建数据行
List<List<Object>> data = Arrays.asList(
Arrays.asList("张三", 25, "男"),
Arrays.asList("李四", 30, "女"),
Arrays.asList("王五", 28, "男")
);
for (int i = 0; i < data.size(); i++) {
Row dataRow = sheet.createRow(i + 1);
List<Object> rowData = data.get(i);
for (int j = 0; j < rowData.size(); j++) {
Cell cell = dataRow.createCell(j);
cell.setCellValue(rowData.get(j).toString());
}
}
// 输出Excel文件
try (FileOutputStream outputStream = new FileOutputStream("example.xlsx")) {
workbook.write(outputStream);
}
```
在这个例子中,我们首先创建了一个Excel文档和一个名为"Sheet1"的工作表。然后,我们创建了一个表头行,并使用一个字符串列表来设置表头单元格的值。接下来,我们创建了数据行,并使用一个包含数据的列表来设置单元格的值。最后,我们将Excel文件写入磁盘。
你可以根据你的具体需求修改这个例子,例如从数据库中读取数据来生成数据行,或者使用一个Map或者一个自定义对象来表示表头和数据。
阅读全文