智慧保安后台管理-外网项目备份
Administrator
2021-12-16 cdcd2d540de3e6ba4c2e9e7c6a879416da78c17b
src/main/java/org/springblade/common/excel/RowWriteHandler.java
@@ -6,6 +6,7 @@
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
import org.apache.poi.ss.usermodel.*;
import org.springblade.core.tool.utils.Func;
import java.util.List;
@@ -16,6 +17,16 @@
 */
public class RowWriteHandler implements CellWriteHandler {
   public static CellStyle cellStyle;
   /**
    * 设置全局变量,防止  cellStyle 创建过多报错 2021-12-16 zrj
    * The maximum number of cell styles was exceeded. You can define up to 64000styles in a .xlsx workbook
    * @param cellStyle
    */
   public static void setCellStyle(CellStyle cellStyle) {
      RowWriteHandler.cellStyle = cellStyle;
   }
      @Override
      public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Head head, Integer integer, Integer integer1, Boolean aBoolean) {
@@ -26,7 +37,11 @@
      public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Cell cell, Head head, Integer integer, Boolean aBoolean) {
         //设置单元格格式为文本
         Workbook workbook = writeSheetHolder.getSheet().getWorkbook();
         CellStyle cellStyle = workbook.createCellStyle();
      //自定义样式不为空时,重复利用
      if(Func.isEmpty(cellStyle)){
         cellStyle = workbook.createCellStyle();
         setCellStyle(cellStyle);
      }
         DataFormat dataFormat = workbook.createDataFormat();
         cellStyle.setDataFormat(dataFormat.getFormat("@"));
         cell.setCellStyle(cellStyle);