我正在使用一个实用程序类,该实用程序类从.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文件读取值。 如果有什么不对的地方,我是刚上论坛的人,请他指导我编辑问题。
答案 0 :(得分:0)
已使用poi-ooxml 4.0.0更新,现在可以正常工作