Лучший способ хранить данные из таблицы Excel для инфраструктуры автоматизации - PullRequest
0 голосов
/ 12 февраля 2020

Я создаю инфраструктуру автоматизации с использованием 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

1 Ответ

0 голосов
/ 12 февраля 2020

для лучшей производительности вы должны использовать Apache POI заменить ваш HashMap

Используя Workbook интерфейс для чтения и записи вашего листа, ячейки, строки и т. Д. c. ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...