无法解析WorkbookFactory(Selenium / maven / java)

时间:2019-02-11 07:20:36

标签: java maven selenium-webdriver apache-poi

我正在使用一个实用程序类,该实用程序类从.xlsx文件中读取数据,但“导入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 :(得分:0)

已使用poi-ooxml 4.0.0更新,现在可以正常工作