2014-04-15 4 views
11

Um eine xlsx Datei zu lesen, verwende ich Apache POI, ich habe die ZIP heruntergeladen und die folgenden jsrs in meinem Servlet-Speicherort webcontent/web-inf/lib und konfigurierten Build-Pfad platziert durch eclipsejava.lang.ClassNotFoundException: org.apache.xmlbeans.XmlException

enter image description here

und mein Code sieht wie folgt aus,

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; 

File uploadedFile = new File(fpath, fileName); 
item.write(uploadedFile); 
String mimeType = (Files.probeContentType(uploadedFile.toPath())).toString(); 
System.out.println(mimeType); 
if(mimeType.equals("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")) 
{ 
FileInputStream file = new FileInputStream(uploadedFile); 
    XSSFWorkbook workbook = new XSSFWorkbook(file); 
    for (int i =0; i < workbook.getNumberOfSheets(); i++) 
    { 
     XSSFSheet sheet = workbook.getSheetAt(i); 
     Iterator<Row> row = sheet.iterator(); 
     while(row.hasNext()) { 
    Iterator<Cell> cellIterator = ((Row) row).cellIterator(); 
     while(cellIterator.hasNext()) { 
     Cell cell1 = cellIterator.next(); 
     switch(cell1.getCellType()) 
     { 
    case Cell.CELL_TYPE_BOOLEAN: 
    System.out.print(cell1.getBooleanCellValue() + "\n"); 
    break; 
    case Cell.CELL_TYPE_NUMERIC: 
    System.out.print(cell1.getNumericCellValue() + "\n"); 
    break; 
    case Cell.CELL_TYPE_STRING: 
    System.out.print(cell1.getStringCellValue() + "\n"); 
    break; 
    } 
    } 

Obwohl dies nicht zeigen und Fehler auf eclipse zeigt es die folgenden Fehler, wenn ich versuche, den Code auszuführen

enter image description here

Was ist mein Fehler? Wie löst man das?

Antwort

27

Sie müssen die XML beans Abhängigkeit zu Ihrem Klassenpfad hinzufügen.

Die Bibliothek in der Regel heißt xmlbeans-x.x.x.jar

+0

Okay. Aber wie fügt man es in die Sonnenfinsternis? –

+1

Manuell: Holen Sie sich das JAR, gehen Sie zu Projekt, Eigenschaften, Java-Build-Pfad, fügen Sie ein externes JAR hinzu und wählen Sie die JAR-Datei aus. – Mena

+0

Ich habe eine Swing-App funktioniert gut, lesen Excel-Dateien unter Windows, aber auf meiner Linux Virtual Machine, bekomme ich java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlException ???? Das xmlbeans-Jar ist enthalten. –

3

hinzufügen XMLBeans-xpath.jar in Ihre Bibliotheken.

+0

Wie in Finsternis? –

1

Ich habe die neuesten Poi-3.17-Binärdateien heruntergeladen, und xmlbeans-x.x.x.jar ist im heruntergeladenen Paket enthalten.

Angehängt die Screenshots FYR.

Primary jars required for xlsx xmlbeans-x.x.x.jar under the folder ooxml-lib