package com.ruoyi.framework.util; import com.alibaba.excel.write.handler.SheetWriteHandler; import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder; import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; public class SheetWriteHandlerUtil implements SheetWriteHandler { private final String title; private final Integer header; public SheetWriteHandlerUtil(String title, Integer header) { this.title = title; this.header = header; } @Override public void beforeSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) { } @Override public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) { Workbook workbook = writeWorkbookHolder.getWorkbook(); Sheet sheet = workbook.getSheetAt(0); //设置标题 Row row1 = sheet.createRow(0); row1.setHeight((short) 700); Cell cell = row1.createCell(0); //设置单元格内容 cell.setCellValue(title); CellStyle cellStyle = workbook.createCellStyle(); cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); cellStyle.setAlignment(HorizontalAlignment.CENTER); Font font = workbook.createFont(); font.setBold(true); font.setFontHeight((short) 450); cellStyle.setFont(font); cell.setCellStyle(cellStyle); // 第一行大标题占位设置 sheet.addMergedRegionUnsafe(new CellRangeAddress(0, 0, 0, header-1)); } }