Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“线程中的异常”;“主要”;org.apache.poi.POIXMLException:java.lang.reflect.InvocationTargetException_Java_Apache_Apache Poi - Fatal编程技术网

“线程中的异常”;“主要”;org.apache.poi.POIXMLException:java.lang.reflect.InvocationTargetException

“线程中的异常”;“主要”;org.apache.poi.POIXMLException:java.lang.reflect.InvocationTargetException,java,apache,apache-poi,Java,Apache,Apache Poi,我有以下jar文件 dom4j-1.6.1.jar poi-3.11.jar poi-ooxml-3.11.jar poi-ooxml-schemas-3.15-beta2.jar xmlbeans-2.6.0.jar poi-scratchpad-3.11.jar poi-excelant-3.11.jar 我正在读一份excel(2007)工作表。我的代码如下 import java.io.File; import java.io.FileInputStream; import java.

我有以下jar文件

dom4j-1.6.1.jar
poi-3.11.jar
poi-ooxml-3.11.jar
poi-ooxml-schemas-3.15-beta2.jar
xmlbeans-2.6.0.jar
poi-scratchpad-3.11.jar
poi-excelant-3.11.jar
我正在读一份excel(2007)工作表。我的代码如下

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class AdaptiveControllers {
public static void main(String[] args) throws IOException {
    String excelFilePath = "test.xlsx";
    FileInputStream inputStream = new FileInputStream(new File(excelFilePath));

    Workbook workbook = new XSSFWorkbook(inputStream);
    Sheet firstSheet = workbook.getSheetAt(0);
    Iterator<Row> iterator = firstSheet.iterator();

    while (iterator.hasNext()) {
        Row nextRow = iterator.next();
        Iterator<Cell> cellIterator = nextRow.cellIterator();

        while (cellIterator.hasNext()) {
            Cell cell = cellIterator.next();

            switch (cell.getCellType()) {
                case Cell.CELL_TYPE_STRING:
                    System.out.print(cell.getStringCellValue());
                    break;
                case Cell.CELL_TYPE_BOOLEAN:
                    System.out.print(cell.getBooleanCellValue());
                    break;
                case Cell.CELL_TYPE_NUMERIC:
                    System.out.print(cell.getNumericCellValue());
                    break;
            }
            System.out.print(" - ");
        }
        System.out.println();
    }

    workbook.close();
    inputStream.close();
}

}
导入java.io.File;
导入java.io.FileInputStream;
导入java.io.IOException;
导入java.util.Iterator;
导入org.apache.poi.ss.usermodel.Cell;
导入org.apache.poi.ss.usermodel.Row;
导入org.apache.poi.ss.usermodel.Sheet;
导入org.apache.poi.ss.usermodel.工作簿;
导入org.apache.poi.xssf.usermodel.xssf工作簿;
公共类自适应控制器{
公共静态void main(字符串[]args)引发IOException{
字符串excelFilePath=“test.xlsx”;
FileInputStream inputStream=新FileInputStream(新文件(excelFilePath));
工作簿=新XSSF工作簿(inputStream);
Sheet firstSheet=工作簿。getSheetAt(0);
迭代器迭代器=firstSheet.Iterator();
while(iterator.hasNext()){
行nextRow=iterator.next();
迭代器cellIterator=nextRow.cellIterator();
while(cellIterator.hasNext()){
Cell=cellIterator.next();
开关(cell.getCellType()){
case Cell.Cell\u类型\u字符串:
System.out.print(cell.getStringCellValue());
打破
case Cell.Cell\u类型\u布尔值:
System.out.print(cell.getBooleanCellValue());
打破
case Cell.Cell\u类型\u数值:
System.out.print(cell.getNumericCellValue());
打破
}
系统输出打印(“-”);
}
System.out.println();
}
workbook.close();
inputStream.close();
}
}
但是当我在eclipse中运行代码时,我得到了以下异常

Exception in thread "main" org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException
at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:62)
at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:427)
at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:162)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:263)
at AdaptiveControllers.main(AdaptiveControllers.java:17)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:60)
... 4 more
Caused by: java.lang.NoClassDefFoundError: org/apache/poi/POIXMLTypeLoader
at org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument$Factory.parse(Unknown Source)
at org.apache.poi.xssf.model.ThemesTable.<init>(ThemesTable.java:46)
... 9 more
Caused by: java.lang.ClassNotFoundException: org.apache.poi.POIXMLTypeLoader
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 11 more
线程“main”org.apache.poi.POIXMLException中的异常:java.lang.reflect.InvocationTargetException 位于org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:62) 在org.apache.poi.poimmldocumentpart.read(poimmldocumentpart.java:427) 位于org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:162) 位于org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:263) 在AdaptiveControllers.main(AdaptiveControllers.java:17) 原因:java.lang.reflect.InvocationTargetException 位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源) 位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源) 位于java.lang.reflect.Constructor.newInstance(未知源) 位于org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:60) ... 4更多 原因:java.lang.NoClassDefFoundError:org/apache/poi/POIXMLTypeLoader 位于org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument$Factory.parse(未知源) 位于org.apache.poi.xssf.model.ThemesTable.(ThemesTable.java:46) ... 9更多 原因:java.lang.ClassNotFoundException:org.apache.poi.POIXMLTypeLoader 位于java.net.URLClassLoader$1.run(未知源) 位于java.net.URLClassLoader$1.run(未知源) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) 位于sun.misc.Launcher$AppClassLoader.loadClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) ... 还有11个
我做错了什么?谁能帮帮我吗

您的版本混合了
poi-3.11
poi-3.15-beta2
。不要那样做。再见。@AxelRichter谢谢!我用poi-3.11-beta2替换了poi-3.15-beta2,它可以工作。您有一个混合了
poi-3.11
poi-3.15-beta2
的版本。不要那样做。再见。@AxelRichter谢谢!我用poi-3.11-beta2替换了poi-3.15-beta2,它可以正常工作