WorkbookFactory не может быть решен (Selenium / Maven / Java) - PullRequest
0 голосов
/ 11 февраля 2019

Я использую служебный класс, который читает данные из файла .xlsx, но я получаю ошибку для "import org.apache.poi.ss.usermodel.WorkbookFactory;"и для book = WorkbookFactory.create (file);

Я пытался добавлять различные зависимости maven в проект и обновлял проект снова и снова, но, похоже, ничего не работает

package com.crm.qa.util;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;


import com.crm.qa.base.Base;

public class Testutil extends Base{

    //declare page load and implicit wait values and load them in base class

    public static long PAGE_LOAD_TIMEOUT =20;
    public static long IMPLICIT_WAIT=10;

    //for testdata
    static Workbook book;
    static Sheet sheet;

    public static String TEST_DATA_SHEET_PATH="D:\\Selenium\\CRMAutomation\\CRM-Master\\CRMQA\\src\\main\\java\\com\\crm\\qa\\testdata\\CRMTestdata.xlsx";

    //for switching to mainpanel frame
    public void switchtoframe() {
        driver.switchTo().frame("mainpanel");
    }

    //for reading testdata
    public Object[][] getTestData(String sheetname) {

        FileInputStream file=null;
        try {
            file=new FileInputStream(TEST_DATA_SHEET_PATH);
        }catch(FileNotFoundException e){
            e.printStackTrace();
        }

        try {
            book=WorkbookFactory.create(file);
        }catch(InvalidFormatException e){
            e.printStackTrace();
        }catch(IOException e) {
            e.printStackTrace();
        }

        sheet=book.getSheet(sheetname);

        //used two dimensional object array
        Object[][] data= new Object[sheet.getLastRowNum()][sheet.getRow(0).getLastCellNum()];
        for(int i=0;i<sheet.getLastRowNum();i++) {
            for(int k=0;k<sheet.getRow(i+1).getLastCellNum();k++) {
                data[i][k]=sheet.getRow(i+1).getCell(k).toString();

            }
        }

        return data;
    }

}

Яожидая, что скрипт должен прочитать значения из файла .xlsx.Я новичок в форуме, если что-то не так, пожалуйста, помогите мне редактировать вопрос.

1 Ответ

0 голосов
/ 11 февраля 2019

Обновлено с помощью poi-ooxml 4.0.0. Теперь работает нормально

...