apache POI excel bestand uitlezen

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Galinsky
  • Registratie: Oktober 2013
  • Niet online

Galinsky

--------->

Topicstarter
Beste tweakers en programmeurs,

Ik loop tegen een probleem aan met apache poi. Hier een hele versimpelde code:
public static void main(String[] args) throws IOException {
FileInputStream fileInput = new FileInputStream("C:/Users/david/Desktop/Test.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook(fileInput);

XSSFSheet worksheet = workbook.getSheet("Sheet1");
XSSFRow row;
XSSFCell cell;

Iterator rows = worksheet.rowIterator();
while (rows.hasNext()){
row=(XSSFRow) rows.next();
Iterator cells = row.cellIterator();
while (cells.hasNext()){
cell=(XSSFCell) cells.next();
System.out.print(cell.getStringCellValue()+", ");
}
}
workbook.close();
}
Ik gebruik apache poi 3.17 en eclipse.
Ik heb verschijdene dingen geprobeerd ook 1 die een excel bestand maakt en weg schrijft echter kom ik telkens uit bij deze error uit:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap
at writeExcel.main(writeExcel.java:17)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections4.ListValuedMap
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)
Het gaat over de line met het creeeren van de workbook. Eerst dacht ik dat dit dan te maken had dat hij misschien mijn excel file niet kon vinden, echter zoals gezegd bij het maken van een excel file en dus een workbook kom ik op dezelfde line error uit..

Ook heb ik al verschillende sample codes geprobeerd echter no luck.. telkens kom ik weer uit op die workbook error.

Iemand enig idee?

Beste antwoord (via Galinsky op 29-03-2018 11:53)


  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Ik vermoed dat je geen dependency tools als maven gebruikt en alleen de apache POI library op je classpath hebt, correct? Ik kan je hard aanraden om daarmee te beginnen; met de hand dependencies op je classpath zetten doet vrijwel geen enkele Java developer.

Als je niet aan Maven of Gradle wil; apache POI heeft een aantal dependencies die je ook nodig hebt: https://mvnrepository.com/artifact/org.apache.poi/poi/3.17

Die ListValuedMap zit in commons-collections4.

https://niels.nu

Alle reacties


Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Ik vermoed dat je geen dependency tools als maven gebruikt en alleen de apache POI library op je classpath hebt, correct? Ik kan je hard aanraden om daarmee te beginnen; met de hand dependencies op je classpath zetten doet vrijwel geen enkele Java developer.

Als je niet aan Maven of Gradle wil; apache POI heeft een aantal dependencies die je ook nodig hebt: https://mvnrepository.com/artifact/org.apache.poi/poi/3.17

Die ListValuedMap zit in commons-collections4.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Galinsky
  • Registratie: Oktober 2013
  • Niet online

Galinsky

--------->

Topicstarter
Oke, het klopt inderdaad precies zoals je zegt, ik heb de dependency toegevoegd denk ik het werkt echt nog niet.. Nog steeds dezelfde error.

https://gyazo.com/28285c655f1b65c9deb98befa8acd607
Dit is hoe het eruit ziet momenteel.. Ik denk dat ik het goed heb toegevoegd..

Acties:
  • +1 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Waar heb jij volgens jou dan die commons-collections4 toegevoegd? Want die zie ik nergens...

Acties:
  • 0 Henk 'm!

  • Galinsky
  • Registratie: Oktober 2013
  • Niet online

Galinsky

--------->

Topicstarter
Excuses, echter nog steeds hetzelfde resultaat:
https://gyazo.com/c32e7cb9c9ad03c3fa538592eacb741d

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Post de error die je nu krijgt eens @Galinsky ?

[ Voor 15% gewijzigd door Hydra op 29-03-2018 10:43 ]

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Galinsky
  • Registratie: Oktober 2013
  • Niet online

Galinsky

--------->

Topicstarter
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException
at readExcel.main(readExcel.java:17)
Caused by: java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlException
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)
... 1 more
Exact hetzelfde als eerst. de line 17 is overigens weer deze line:
"XSSFWorkbook workbook = new XSSFWorkbook(fileInput);"

Acties:
  • +2 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Ja? echt? Letter voor letter? Of zou het kunnen dat 'ie, zoals ik voorspeld had, klaagt over een compleet andere class onderdeel van een andere dependency? :)

Nogmaals: leer alsjeblieft maven/gradle te gebruiken.

[ Voor 8% gewijzigd door Hydra op 29-03-2018 10:50 ]

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Galinsky
  • Registratie: Oktober 2013
  • Niet online

Galinsky

--------->

Topicstarter
Hydra schreef op donderdag 29 maart 2018 @ 10:49:
[...]


Ja? echt? Letter voor letter? Of zou het kunnen dat 'ie, zoals ik voorspeld had, klaagt over een compleet andere class onderdeel van een andere dependency? :)
Ik zie wat je bedoeld, ik denk dat dat ik zo wel extra dependencies kan toevoegen, excuses voor mijn nalatigheid! 8)7

Acties:
  • 0 Henk 'm!

  • Galinsky
  • Registratie: Oktober 2013
  • Niet online

Galinsky

--------->

Topicstarter
Werkt nu helemaal perfect, erg bedankt voor jullie hulp! :)

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Alleen waarom gebruik je geen maven/gradle zoals Hydra al aanraad?

Plain java is leuk voor schoolopdrachtjes / kleine dingetjes etc.

Maar apache poi etc zijn zulke library's met dependencies en ander geklooi dat je dat (tegenwoordig) echt niet zinnig meer met de hand wil gaan beheren.

Acties:
  • 0 Henk 'm!

  • Galinsky
  • Registratie: Oktober 2013
  • Niet online

Galinsky

--------->

Topicstarter
Gomez12 schreef op donderdag 29 maart 2018 @ 12:02:
Alleen waarom gebruik je geen maven/gradle zoals Hydra al aanraad?

Plain java is leuk voor schoolopdrachtjes / kleine dingetjes etc.

Maar apache poi etc zijn zulke library's met dependencies en ander geklooi dat je dat (tegenwoordig) echt niet zinnig meer met de hand wil gaan beheren.
Het word niet een heel groot project, het enige wat ik wil is dat het een excel bestand uitleest, daar waardes uit haalt in hem weer in een ander excelbestand erin zet. Als dit zo werkt ben ik tevreden, naast dat weet ik niet precies hoe independencies werken :| :|
Pagina: 1