2014-02-24 119 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