Commit 6c1e6f79 by jianan

保费到期提醒15

parent 7b94e33c
package com.yd.csf.service.component; 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.CellWriteHandler;
import com.alibaba.excel.write.handler.SheetWriteHandler; import com.alibaba.excel.write.handler.SheetWriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; import com.alibaba.excel.write.handler.context.CellWriteHandlerContext;
import com.alibaba.excel.write.metadata.holder.WriteTableHolder; import com.alibaba.excel.write.handler.context.SheetWriteHandlerContext;
import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder;
import org.apache.poi.ss.usermodel.BorderStyle; import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.CellStyle;
...@@ -17,8 +14,6 @@ import org.apache.poi.ss.usermodel.Sheet; ...@@ -17,8 +14,6 @@ import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.VerticalAlignment; import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.Workbook;
import java.util.List;
/** /**
* 严格复刻 policy报表模版.xlsx 的样式: * 严格复刻 policy报表模版.xlsx 的样式:
* 宋体 11 不加粗、四边细边框、垂直居中;对齐与数字格式按列区分;冻结首行;按模板列宽。 * 宋体 11 不加粗、四边细边框、垂直居中;对齐与数字格式按列区分;冻结首行;按模板列宽。
...@@ -34,7 +29,7 @@ public class TemplateStyleStrategy implements SheetWriteHandler, CellWriteHandle ...@@ -34,7 +29,7 @@ public class TemplateStyleStrategy implements SheetWriteHandler, CellWriteHandle
private static final int NUMBER_LEFT = 2; private static final int NUMBER_LEFT = 2;
/** 常规右对齐(模板 13:L/M/S) */ /** 常规右对齐(模板 13:L/M/S) */
private static final int GENERAL_RIGHT = 3; 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; private static final int DATE_RIGHT = 4;
/** 30 列(A..AD)对应的样式类别 */ /** 30 列(A..AD)对应的样式类别 */
...@@ -81,10 +76,9 @@ public class TemplateStyleStrategy implements SheetWriteHandler, CellWriteHandle ...@@ -81,10 +76,9 @@ public class TemplateStyleStrategy implements SheetWriteHandler, CellWriteHandle
private CellStyle[] styles; private CellStyle[] styles;
@Override @Override
public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, public void afterSheetCreate(SheetWriteHandlerContext context) {
WriteSheetHolder writeSheetHolder) { Sheet sheet = context.getWriteSheetHolder().getSheet();
Sheet sheet = writeSheetHolder.getSheet(); Workbook workbook = context.getWriteWorkbookHolder().getWorkbook();
Workbook workbook = sheet.getWorkbook();
initStyles(workbook); initStyles(workbook);
for (int i = 0; i < COL_WIDTH.length; i++) { for (int i = 0; i < COL_WIDTH.length; i++) {
...@@ -95,14 +89,13 @@ public class TemplateStyleStrategy implements SheetWriteHandler, CellWriteHandle ...@@ -95,14 +89,13 @@ public class TemplateStyleStrategy implements SheetWriteHandler, CellWriteHandle
} }
@Override @Override
public void afterCellDispose(WriteSheetHolder writeSheetHolder, public void afterCellDispose(CellWriteHandlerContext context) {
WriteTableHolder writeTableHolder, Cell cell = context.getCell();
List<WriteCellData<?>> cellDataList,
Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) {
int col = cell.getColumnIndex(); 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; return;
} }
// 表头与数据使用同一套按列样式
cell.setCellStyle(styles[STYLE_BY_COL[col]]); 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