Commit 6c1e6f79 by jianan

保费到期提醒15

parent 7b94e33c
package com.yd.csf.service.component;
import com.alibaba.excel.metadata.Head;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.write.handler.CellWriteHandler;
import com.alibaba.excel.write.handler.SheetWriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder;
import com.alibaba.excel.write.handler.context.CellWriteHandlerContext;
import com.alibaba.excel.write.handler.context.SheetWriteHandlerContext;
import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
......@@ -17,8 +14,6 @@ import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.ss.usermodel.Workbook;
import java.util.List;
/**
* 严格复刻 policy报表模版.xlsx 的样式:
* 宋体 11 不加粗、四边细边框、垂直居中;对齐与数字格式按列区分;冻结首行;按模板列宽。
......@@ -34,7 +29,7 @@ public class TemplateStyleStrategy implements SheetWriteHandler, CellWriteHandle
private static final int NUMBER_LEFT = 2;
/** 常规右对齐(模板 13:L/M/S) */
private static final int GENERAL_RIGHT = 3;
/** 日期 yyyy/MM/dd 右对齐(模板 12:N/O/Q;P/R 模板为常规右对齐,但写入真实日期需日期格式) */
/** 日期 yyyy/MM/dd 右对齐(模板 12:N/O/Q;P/R 写入真实日期需日期格式) */
private static final int DATE_RIGHT = 4;
/** 30 列(A..AD)对应的样式类别 */
......@@ -81,10 +76,9 @@ public class TemplateStyleStrategy implements SheetWriteHandler, CellWriteHandle
private CellStyle[] styles;
@Override
public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder,
WriteSheetHolder writeSheetHolder) {
Sheet sheet = writeSheetHolder.getSheet();
Workbook workbook = sheet.getWorkbook();
public void afterSheetCreate(SheetWriteHandlerContext context) {
Sheet sheet = context.getWriteSheetHolder().getSheet();
Workbook workbook = context.getWriteWorkbookHolder().getWorkbook();
initStyles(workbook);
for (int i = 0; i < COL_WIDTH.length; i++) {
......@@ -95,14 +89,13 @@ public class TemplateStyleStrategy implements SheetWriteHandler, CellWriteHandle
}
@Override
public void afterCellDispose(WriteSheetHolder writeSheetHolder,
WriteTableHolder writeTableHolder,
List<WriteCellData<?>> cellDataList,
Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) {
public void afterCellDispose(CellWriteHandlerContext context) {
Cell cell = context.getCell();
int col = cell.getColumnIndex();
if (col < 0 || col >= STYLE_BY_COL.length || styles == null) {
if (styles == null || col < 0 || col >= STYLE_BY_COL.length) {
return;
}
// 表头与数据使用同一套按列样式
cell.setCellStyle(styles[STYLE_BY_COL[col]]);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment