2014-02-24 168 views
0

我實際上試圖用Apache POI讀取XLS文件,但我的代碼無法正常工作。 IntelliJ告訴我,在第28行中,創建XSSFWorkbook會造成麻煩。如果你在這裏,你會有一個簡短的看法,也許會回答嗎?Java中的Apache POI導致麻煩(XSSFWorkbook)

package Parse; 

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; 

import java.io.File; 
import java.io.FileInputStream; 
import java.util.Iterator; 
public class poi { 

    public static void main(String[] args) { 
     try { 
      FileInputStream file = new FileInputStream(new File("C:\\Users\\jd\\Desktop\\test\\VW_XML\\in_xls.xlsx")); 

      //Create workbook instance 
      XSSFWorkbook workbook = new XSSFWorkbook(file); 

      //read sheet 
      XSSFSheet sheet = workbook.getSheetAt(0); 

      //iterate rows 
      Iterator<Row> rowIterator = sheet.iterator(); 
      while (rowIterator.hasNext()) { 
       Row row = rowIterator.next(); 
       Iterator<Cell> cellIterator = row.cellIterator(); 

       // for each row all columns 
       while (cellIterator.hasNext()) { 
        Cell cell = cellIterator.next(); 

        //check cell type 
        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(); 
     } 
    } 
} 
+2

異常stacktrace? – Naren

+0

IntelliJ如何向您顯示問題在哪裏?或者它實際上是你讀的堆棧跟蹤?如果是積極的,也許你可以與我們分享。 –

+0

引起︰java.lang.ClassNotFoundException︰org.apache.xmlbeans.XmlException – Paulquappe

回答

2

將所有以下的jar放入BuildPath並運行!

enter image description here

3

如何將POI添加到項目中?你使用Maven或類似的東西?你可能會錯過一些依賴關係。

從我的依賴剪下:樹:

org.apache.poi:poi-ooxml:jar:3.10-FINAL:compile 
+- org.apache.poi:poi:jar:3.10-FINAL:compile 
| \- commons-codec:commons-codec:jar:1.5:compile 
\- org.apache.poi:poi-ooxml-schemas:jar:3.10-FINAL:compile 
    \- org.apache.xmlbeans:xmlbeans:jar:2.3.0:compile 
     \- stax:stax-api:jar:1.0.1:compile 

你在你的類路徑中所有的罐子?

1

How to read excel(.xlsx) in java using poi?

此鏈接,您的意見對我幫助很大。

我需要添加更多的jar文件到我的項目。

POI-3.9.jar POI-OOXML-3.9.jar POI-OOXML-架構 - 3.7.jar 的xmlbeans-2.3.0.jar 的dom4j-1.6.1.jar

TY很多回復並祝你有愉快的一天。

-1

您需要添加這些JAR文件::

CLASSPATH:

「C:\ POI-3.9 \ POI-3.9-20121203.jar;」

「C:\ poi- 3.9 \ POI-OOXML-3.9-20121203.jar;」

‘C:\ POI-3.9 \ POI-OOXML-架構 - 3.9-20121203.jar;’

「C:\ POI-3.9 \ ooxml-lib \ dom4j-1.6.1.jar;「

「C:\ POI-3.9 \ OOXML-LIB \ XMLBeans的-2.3.0.jar;」

點擊下面的鏈接,上面的jar文件:: http://www.java2s.com/Open-Source/Java_Free_Code/Database/Download_wca_workbook_assistant_Free_Java_Code.htm

祝您好運..

+0

這些都是非常舊的版本(線索是在文件名中的日期!)。你爲什麼建議使用這種舊版本而不是最新版本? – Gagravarr