导出一个excel,根据表中的字段,动态生成表头,表头标题为黑色,在表头同一格中下一行有红色的备注字体,java代码
时间: 2023-05-16 08:04:54 浏览: 208
可以使用 Apache POI 库来导出 Excel 文件,并使用 HSSFCellStyle 类来设置表头的样式和备注字体的样式。以下是示例代码:
```java
// 创建工作簿和工作表
Workbook workbook = new HSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
// 创建表头行和备注行
Row headerRow = sheet.createRow(0);
Row commentRow = sheet.createRow(1);
// 定义表头字段和备注内容
String[] headers = {"姓名", "年龄", "性别"};
String[] comments = {"姓名", "年龄(岁)", "性别(男/女)"};
// 设置表头样式和备注样式
CellStyle headerStyle = workbook.createCellStyle();
headerStyle.setFillForegroundColor(IndexedColors.BLACK.getIndex());
headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
Font commentFont = workbook.createFont();
commentFont.setColor(IndexedColors.RED.getIndex());
CellStyle commentStyle = workbook.createCellStyle();
commentStyle.setFont(commentFont);
// 动态生成表头
for (int i = 0; i < headers.length; i++) {
Cell headerCell = headerRow.createCell(i);
headerCell.setCellValue(headers[i]);
headerCell.setCellStyle(headerStyle);
Cell commentCell = commentRow.createCell(i);
commentCell.setCellValue(comments[i]);
commentCell.setCellStyle(commentStyle);
}
// 导出 Excel 文件
FileOutputStream outputStream = new FileOutputStream("output.xls");
workbook.write(outputStream);
outputStream.close();
```
注意:需要在项目中引入 Apache POI 和 Apache POI-OOXML 两个库。