I'm using the following jar files:
dom4j-1.6.1.jar poi-3.9-20121203.jar poi-ooxml-3.9-20121203.jar poi-ooxml-schemas-3.9-20121203.jar xmlbeans-2.3.0.jar Code:
package ExcelTest;  import java.io.File; import java.io.FileInputStream; import java.util.Iterator;  import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook;  public class Test {     public static void main(String[] args)     {         try         {             FileInputStream file = new FileInputStream(new File("G:\\Selenium Jar Files\\TestData\\Data.xls"));              //Create Workbook instance holding reference to .xlsx file             XSSFWorkbook workbook = new XSSFWorkbook(file);              //Get first/desired sheet from the workbook             XSSFSheet sheet = workbook.getSheetAt(0);              //Iterate through each rows one by one             Iterator<Row> rowIterator = sheet.iterator();             while (rowIterator.hasNext())             {                 Row row = rowIterator.next();                 //For each row, iterate through all the columns                 Iterator<Cell> cellIterator = row.cellIterator();                  while (cellIterator.hasNext())                 {                     Cell cell = cellIterator.next();                     //Check the cell type and format accordingly                     switch (cell.getCellType())                     {                         case Cell.CELL_TYPE_NUMERIC:                             System.out.print(cell.getNumericCellValue() + "t");                             break;                         case Cell.CELL_TYPE_STRING:                             System.out.print(cell.getStringCellValue() + "t");                             break;                     }                 }                 System.out.println("");             }             file.close();         }         catch (Exception e)         {             e.printStackTrace();         }     } } When I compile, I get the following error:
org.apache.poi.POIXMLException: org.apache.poi.openxml4j.exceptions.InvalidFormatException: Package should contain a content type part [M1.13]     at org.apache.poi.util.PackageHelper.open(PackageHelper.java:41)     at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:218)     at ExcelTest.Test.main(Test.java:21) Caused by: org.apache.poi.openxml4j.exceptions.InvalidFormatException: Package should contain a content type part [M1.13]     at org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:199)     at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:665)     at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:274)     at org.apache.poi.util.PackageHelper.open(PackageHelper.java:39)     ... 2 more I have gone through the link but was unable to solve the issue. Getting Exception(org.apache.poi.openxml4j.exception - no content type [M1.13]) when reading xlsx file using Apache POI?
Can anyone please help me?
You are trying to read xls with explicit implementation poi classes for xlsx.
G:\Selenium Jar Files\TestData\Data.xls
Either use HSSFWorkbook and HSSFSheet classes or make your implementation more generic by using shared interfaces, like;
Change:
XSSFWorkbook workbook = new XSSFWorkbook(file); To:
 org.apache.poi.ss.usermodel.Workbook workbook = WorkbookFactory.create(file); And Change:
XSSFSheet sheet = workbook.getSheetAt(0); To:
org.apache.poi.ss.usermodel.Sheet sheet = workbook.getSheetAt(0); You are trying to access an XLS file. However, you are using XSSFWorkbook and XSSFSheet class objects. These classes are mainly used for XLSX files.
For XLS file: HSSFWorkbook & HSSFSheet
 For XLSX file: XSSFSheet & XSSFSheet
So in place of XSSFWorkbook use HSSFWorkbook and in place of XSSFSheet use HSSFSheet. 
So your code should look like this after the changes are made:
HSSFWorkbook workbook = new HSSFWorkbook(file);  HSSFSheet sheet = workbook.getSheetAt(0); If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With