Я создаю инфраструктуру автоматизации с использованием JAVA и использую тестовый источник данных в качестве листа Excel. В настоящее время извлекаю все данные из таблицы Excel в LinkedHashmap и использую связанный хэш-карту в коде. Мой вопрос заключается в том, чтобы узнать эффективный способ извлечения данных из Excelsheet. Моя HashMap выглядит как
public static HashMap<Integer, ArrayList<String>> exceldata = new LinkedHashMap<Integer, ArrayList<String>>();
Номер строки и данные для этой строки. Я использую apache POI для получения данных из таблицы Excel. Однако мне нужно хранить их в структуре данных для выполнения некоторых метаданных.
File fs=new File(AppVariableConstants.TestDataPath);
FileInputStream fis = new FileInputStream(fs);
HSSFWorkbook workbook = new HSSFWorkbook (fis);
HSSFSheet sheet = workbook.getSheetAt(0);
int rows; // No of rows
int cols;
String KeyHeader;
String ValueCell=null;
rows = sheet.getPhysicalNumberOfRows();
cols=sheet.getRow(0).getPhysicalNumberOfCells();
public static HashMap<Integer, ArrayList<String>> exceldata = new LinkedHashMap<Integer, ArrayList<String>>();
for(int i=1; i<rows; i++){
ArrayList<String> list1 = new ArrayList<String>();
for(int j=0; j<cols ;j++) {
KeyHeader=sheet.getRow(0).getCell(j).getStringCellValue();
switch(sheet.getRow(i).getCell(j).getCellType()) {
case NUMERIC:
ValueCell=String.valueOf(sheet.getRow(i).getCell(j).getNumericCellValue());
break;
exceldata.put(i, list1);// row number and all data for that row