package com.qianwen.core.excel.extend.config;
|
|
import com.alibaba.excel.converters.Converter;
|
import java.util.List;
|
import com.qianwen.core.excel.extend.aop.ResponseExcelReturnValueHandler;
|
import com.qianwen.core.excel.extend.enhance.DefaultWriterBuilderEnhancer;
|
import com.qianwen.core.excel.extend.enhance.WriterBuilderEnhancer;
|
import com.qianwen.core.excel.extend.handler.ManySheetWriteHandler;
|
import com.qianwen.core.excel.extend.handler.SheetWriteHandler;
|
import com.qianwen.core.excel.extend.handler.SingleSheetWriteHandler;
|
import com.qianwen.core.excel.extend.head.I18nHeaderCellWriteHandler;
|
import org.springframework.beans.factory.ObjectProvider;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.context.MessageSource;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
|
@Configuration
|
/* loaded from: blade-starter-excel-9.3.0.0-SNAPSHOT.jar:org/springblade/core/excel/extend/config/ExcelHandlerConfiguration.class */
|
public class ExcelHandlerConfiguration {
|
private final ExcelConfigProperties configProperties;
|
private final ObjectProvider<List<Converter<?>>> converterProvider;
|
|
public ExcelHandlerConfiguration(final ExcelConfigProperties configProperties, final ObjectProvider<List<Converter<?>>> converterProvider) {
|
this.configProperties = configProperties;
|
this.converterProvider = converterProvider;
|
}
|
|
@ConditionalOnMissingBean
|
@Bean
|
public WriterBuilderEnhancer writerBuilderEnhancer() {
|
return new DefaultWriterBuilderEnhancer();
|
}
|
|
@ConditionalOnMissingBean
|
@Bean
|
public SingleSheetWriteHandler singleSheetWriteHandler() {
|
return new SingleSheetWriteHandler(this.configProperties, this.converterProvider, writerBuilderEnhancer());
|
}
|
|
@ConditionalOnMissingBean
|
@Bean
|
public ManySheetWriteHandler manySheetWriteHandler() {
|
return new ManySheetWriteHandler(this.configProperties, this.converterProvider, writerBuilderEnhancer());
|
}
|
|
@ConditionalOnMissingBean
|
@Bean
|
public ResponseExcelReturnValueHandler responseExcelReturnValueHandler(List<SheetWriteHandler> sheetWriteHandlerList) {
|
return new ResponseExcelReturnValueHandler(sheetWriteHandlerList);
|
}
|
|
@ConditionalOnMissingBean
|
@ConditionalOnBean({MessageSource.class})
|
@Bean
|
public I18nHeaderCellWriteHandler i18nHeaderCellWriteHandler(MessageSource messageSource) {
|
return new I18nHeaderCellWriteHandler(messageSource);
|
}
|
}
|