package com.alibaba.excel.read.builder; import java.util.ArrayList; import java.util.List; import com.alibaba.excel.ExcelReader; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.event.SyncReadListener; import com.alibaba.excel.exception.ExcelAnalysisException; import com.alibaba.excel.exception.ExcelGenerateException; import com.alibaba.excel.read.listener.ReadListener; import com.alibaba.excel.read.metadata.ReadSheet; /** * Build sheet * * @author Jiaju Zhuang */ public class ExcelReaderSheetBuilder { private ExcelReader excelReader; /** * Sheet */ private ReadSheet readSheet; public ExcelReaderSheetBuilder() { this.readSheet = new ReadSheet(); } public ExcelReaderSheetBuilder(ExcelReader excelReader) { this.readSheet = new ReadSheet(); this.excelReader = excelReader; } /** * Starting from 0 * * @param sheetNo * @return */ public ExcelReaderSheetBuilder sheetNo(Integer sheetNo) { readSheet.setSheetNo(sheetNo); return this; } /** * sheet name * * @param sheetName * @return */ public ExcelReaderSheetBuilder sheetName(String sheetName) { readSheet.setSheetName(sheetName); return this; } /** * Count the number of added heads when read sheet. * *
* 0 - This Sheet has no head ,since the first row are the data *
* 1 - This Sheet has one row head , this is the default *
* 2 - This Sheet has two row head ,since the third row is the data
*
* @param headRowNumber
* @return
*/
public ExcelReaderSheetBuilder headRowNumber(Integer headRowNumber) {
readSheet.setHeadRowNumber(headRowNumber);
return this;
}
/**
* You can only choose one of the {@link ExcelReaderBuilder#head(List)} and {@link ExcelReaderBuilder#head(Class)}
*
* @param head
* @return
*/
public ExcelReaderSheetBuilder head(List> head) {
readSheet.setHead(head);
return this;
}
/**
* You can only choose one of the {@link ExcelReaderBuilder#head(List)} and {@link ExcelReaderBuilder#head(Class)}
*
* @param clazz
* @return
*/
public ExcelReaderSheetBuilder head(Class clazz) {
readSheet.setClazz(clazz);
return this;
}
/**
* Custom type conversions override the default.
*
* @param converter
* @return
*/
public ExcelReaderSheetBuilder registerConverter(Converter converter) {
if (readSheet.getCustomConverterList() == null) {
readSheet.setCustomConverterList(new ArrayList