NoClassDefFoundError: while reading XLSX file using XSSF cls for getCellType() /getStringCellValue()
Hello,
I am trying to read data from .XLSX file using Latest Apache POI libraries 4.0.1. However I amgetting follwoing error when I am trying to getCellType() or cell.getStringCellValue() etc.
However it could read wb.getPhysicalNumberOfRows() , row.getCell(x) properly without error.
error - NoClassDefFoundError: org/openxmlformats/schemas/spreadsheetml/x2006/main/CTExtensionList
Steps followed -
- Download the latest release version of the Apache POI libraries 4.0.1.
- Place the extracted libraries (all of the .jar files in the main extraction directory, \lib and ooxml-lib directories) to the ReadyAPI installation directory\bin\ext directory and restart ReadyAPI.
- Use this script:
package application;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.DataFormatter;
InputStream ExcelFileToRead = new FileInputStream("D:\\Test.xlsx");
XSSFWorkbook wb = new XSSFWorkbook(ExcelFileToRead);
XSSFWorkbook test = new XSSFWorkbook();
XSSFSheet sheet = wb.getSheetAt(0);
XSSFRow row;
XSSFCell cell;
Iterator rows = sheet.rowIterator();
while (rows.hasNext())
{
row=(XSSFRow) rows.next();
Iterator cells = row.cellIterator();
while (cells.hasNext())
{
cell=(XSSFCell) cells.next();
if (cell.getCellType() == XSSFCell.CELL_TYPE_STRING)
{
System.out.print(cell.getStringCellValue()+" ");
}
else if(cell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC)
{
System.out.print(cell.getNumericCellValue()+" ");
}
else
{
}
}
System.out.println();
}
Please let me know how to resolve this error.
regards,
Manali