package com.ruoyi.inspect.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));
|
}
|
}
|