
io.gitee.ludii.excel.read.reader.WorkbookReaderBuilder Maven / Gradle / Ivy
package io.gitee.ludii.excel.read.reader;
import io.gitee.ludii.excel.annotation.DefaultReadFieldAnnotationConfigParser;
import io.gitee.ludii.excel.exceptions.ExcelException;
import io.gitee.ludii.excel.read.metadata.config.SheetReaderConfigMainDefinition;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
/**
* @author 陆迪
* @date 2022/4/24
*/
public class WorkbookReaderBuilder {
/**
* 输入流
*/
private InputStream inputStream;
/**
* 是否忽略空行.默认忽略
*/
private boolean ignoreEmptyRow = true;
public static WorkbookReaderBuilder read(String filePath) {
return read(new File(filePath));
}
public static WorkbookReaderBuilder read(File file) {
try {
FileInputStream fileInputStream = new FileInputStream(file);
return read(fileInputStream);
} catch (FileNotFoundException fileNotFoundException) {
throw new ExcelException("不存在的文件");
}
}
public static WorkbookReaderBuilder read(InputStream inputStream) {
WorkbookReaderBuilder workbookReaderBuilder = new WorkbookReaderBuilder();
workbookReaderBuilder.inputStream = inputStream;
return workbookReaderBuilder;
}
public WorkbookReaderBuilder ignoreEmptyRow(boolean ignoreEmptyRow) {
this.ignoreEmptyRow = ignoreEmptyRow;
return this;
}
protected WorkbookReader build() {
return new WorkbookReader(inputStream, ignoreEmptyRow);
}
public SheetReaderBuilder sheetReaderConfigMainDefinition(SheetReaderConfigMainDefinition sheetReaderConfigMainDefinition) {
return new SheetReaderBuilder<>(this, sheetReaderConfigMainDefinition);
}
public SheetReaderBuilder sheetReaderConfigMainDefinition(Class clazz) {
DefaultReadFieldAnnotationConfigParser defaultReadFieldAnnotationConfigParser = new DefaultReadFieldAnnotationConfigParser();
return new SheetReaderBuilder<>(this, defaultReadFieldAnnotationConfigParser.parse(clazz));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy