package com.qianwen.core.excel.extend.handler; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.write.metadata.WriteSheet; import java.util.List; import javax.servlet.http.HttpServletResponse; import com.qianwen.core.excel.extend.annotation.ResponseExcel; import com.qianwen.core.excel.extend.annotation.Sheet; import com.qianwen.core.excel.extend.config.ExcelConfigProperties; import com.qianwen.core.excel.extend.enhance.WriterBuilderEnhancer; import com.qianwen.core.excel.extend.kit.ExcelException; import org.springframework.beans.factory.ObjectProvider; /* loaded from: blade-starter-excel-9.3.0.0-SNAPSHOT.jar:org/springblade/core/excel/extend/handler/ManySheetWriteHandler.class */ public class ManySheetWriteHandler extends AbstractSheetWriteHandler { public ManySheetWriteHandler(ExcelConfigProperties configProperties, ObjectProvider>> converterProvider, WriterBuilderEnhancer excelWriterBuilderEnhance) { super(configProperties, converterProvider, excelWriterBuilderEnhance); } @Override // org.springblade.core.excel.extend.handler.SheetWriteHandler public boolean support(Object obj) { if (obj instanceof List) { List objList = (List) obj; return !objList.isEmpty() && (objList.get(0) instanceof List); } throw new ExcelException("@ResponseExcel 返回值必须为List类型"); } @Override // org.springblade.core.excel.extend.handler.SheetWriteHandler public void write(Object obj, HttpServletResponse response, ResponseExcel responseExcel) { List objList = (List) obj; ExcelWriter excelWriter = getExcelWriter(response, responseExcel); Sheet[] sheets = responseExcel.sheets(); for (int i = 0; i < sheets.length; i++) { List eleList = (List) objList.get(i); Class dataClass = eleList.get(0).getClass(); WriteSheet sheet = sheet(sheets[i], dataClass, responseExcel.template(), responseExcel.headGenerator()); excelWriter.write(eleList, sheet); } excelWriter.finish(); } }