easyexcel 表头设置
时间: 2025-02-17 12:17:19 浏览: 123
### 使用 EasyExcel 设置表头样式
在 EasyExcel 库中,可以通过继承 `AbstractCellStyleStrategy` 接口并重写相应的方法来设置表头和内容的样式。对于仅需修改表头样式的场景,可以在该类中指定表头的样式配置。
#### 表头样式设置实例
下面是一个具体的例子,展示了如何创建一个自定义样式处理器,并将其注册到 Excel 导出操作中:
```java
import com.alibaba.excel.write.handler.AbstractCellWriteHandler;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
public class HeadStyleHandler extends AbstractCellWriteHandler {
@Override
protected void doBeforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder,
Row row, Head head, Integer columnIndex, Integer relativeRowIndex,
Boolean isHead) {
if (isHead) { // 只处理表头的情况
Sheet sheet = writeSheetHolder.getSheet();
Workbook workbook = writeSheetHolder.getWorkbook();
CellStyle cellStyle = workbook.createCellStyle();
Font font = workbook.createFont();
// 自定义字体大小
font.setFontHeightInPoints((short) 12);
// 加粗显示
font.setBold(true);
cellStyle.setFont(font);
// 居中对齐方式
cellStyle.setAlignment(CellStyle.ALIGN_CENTER);
// 将样式应用给当前单元格所在的列
for (int i = 0; i < head.getColumnCount(); ++i){
sheet.setDefaultColumnStyle(i, cellStyle);
}
}
}
}
```
为了使上述代码生效,在执行导出时需要调用 `EasyExcel.write()` 方法并将此处理器作为参数传递进去:
```java
import java.util.List;
// 假设 data 是要写出的数据列表
List<YourDataClass> data = ... ;
// 创建文件输出流对象
OutputStream out = new FileOutputStream("output.xlsx");
// 注册样式处理器
EasyExcel.write(out).head(head()).registerWriteHandler(new HeadStyleHandler())
.sheet("模板").doWrite(data);
```
以上就是利用 EasyExcel 实现表头样式的定制化过程[^1]。
阅读全文
相关推荐

















