![JAR search and dependency download from the Maven repository](/logo.png)
com.ludii.excel.AbstractExcelImport Maven / Gradle / Ivy
package com.ludii.excel;
import com.ludii.excel.parse.CellValueTransform;
import com.ludii.excel.parse.DefaultExcelImportParse;
import com.ludii.excel.parse.ExcelFieldConfigParse;
import com.ludii.excel.parse.ExcelImportCellValueReader;
import java.io.InputStream;
import java.util.List;
/**
* @author 陆迪
* @date 2022/3/25
*/
public abstract class AbstractExcelImport implements ExcelImport {
@Override
public List listData(InputStream inputStream, Class clazz) throws Exception {
return this.listData(inputStream, clazz, 0, 0);
}
@Override
public List listData(InputStream inputStream, Class clazz, int dataColumnStartIndex) throws Exception {
return this.listData(inputStream, clazz, dataColumnStartIndex, 0);
}
@Override
public List listData(InputStream inputStream, Class clazz, int dataColumnStartIndex, int sheetIndex) throws Exception {
ExcelImportCellValueReader excelImportCellValueReader = this.getExcelImportCellValueReader(inputStream, dataColumnStartIndex, sheetIndex);
ExcelFieldConfigParse excelFieldConfigParse = this.getExcelFieldConfigParse(clazz);
return this.listData(excelImportCellValueReader, excelFieldConfigParse);
}
@Override
public List listData(InputStream inputStream, Class clazz, int dataColumnStartIndex, String sheetName) throws Exception {
ExcelImportCellValueReader excelImportCellValueReader = this.getExcelImportCellValueReader(inputStream, dataColumnStartIndex, sheetName);
ExcelFieldConfigParse excelFieldConfigParse = this.getExcelFieldConfigParse(clazz);
return this.listData(excelImportCellValueReader, excelFieldConfigParse);
}
public List listData(ExcelImportCellValueReader excelImportCellValueReader, ExcelFieldConfigParse excelFieldConfigParse)
throws Exception {
DefaultExcelImportParse importParse = new DefaultExcelImportParse<>(excelImportCellValueReader, excelFieldConfigParse, getCellValueTransform());
try {
return importParse.listData();
} finally {
excelImportCellValueReader.close();
}
}
protected abstract ExcelImportCellValueReader getExcelImportCellValueReader(InputStream inputStream, int dataColumnStartIndex, int sheetIndex);
protected abstract ExcelImportCellValueReader getExcelImportCellValueReader(InputStream inputStream, int dataColumnStartIndex, String sheetName);
protected abstract ExcelFieldConfigParse getExcelFieldConfigParse(Class clazz);
protected abstract CellValueTransform getCellValueTransform();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy