Я искал эту проблему часами, но предоставленные решения не сработали. Я работаю в Intellij IDEA 12.0.4, пытаясь прочитать файл xlsx Microsoft 2007. Ошибка я получаю это:не может прочитать файл xlsx с помощью apache poi
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException
at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:91)
at Main.main(Main.java:157)
Caused by: java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
Код:
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.ss.usermodel.WorkbookFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.File;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
try {
File file = new File(root_dir + "2013-03-13 iom diff.xlsx");
Workbook workbook = WorkbookFactory.create(file); //fails here
//...
} catch (Exception e) {
e.printStackTrace();
}
}
}
В IDEA У меня есть следующие параметры проекта:
У меня нет грани или артефактов и в настройках платформы в IDEA У меня нет глобальных библиотек. В разделе Параметры платформы у меня есть следующие SDKs:
Я на ОС Windows 7 SP1 x64 и под System Properties -> Environment Variables
у меня есть: Под система variables-> CLASSPATH:
C:\xmlbeans-2.5.0\lib\xbean.jar;C:\xmlbeans-2.5.0\lib\jsr173_1.0_api.jar
Под системные переменные-> Путь:
...;%XMLBEANS_HOME%\bin;C:\poi-3.9\ooxml-lib\xmlbeans-2.3.0.jar;C:\poi-3.9\ooxml-lib\stax-api-1.0.1.jar;C:\poi-3.9\ooxml-lib\xmlbeans-2.3.0
где XMLBEANS_HOME
определяется под переменными, так как C:\xmlbeans-2.5.0
и ...
обозначает другие несвязанные файлы.
Я также установлены следующие компоненты, насколько Java идет:
Java 7 Update 17
Java 7 Update 17 (64-bit)
Java SE Development Kit 7 Update 17
Java SE Development Kit 7 Update 17 (64-bit)
Явное мой вопрос «Как загрузить файл XLSX с помощью Apache POI, когда я получаю эту ошибку» Любая помощь очень ценится.
Почему вы используете источники для xmlbeans, а не скомпилированную банку? –
У меня есть оба параметра Path. Я попытался удалить источники из переменной пути и по-прежнему иметь ту же ошибку. (Я закрыл и снова открыл IDEA) – thed0ctor
XSSFWorkbook workBook = новый XSSFWorkbook (inputStream); – swamy