Will man Excel CSV Dateien einlesen geht das mit einem Einzeiler in Java:
1 |
parser = new CSVParser(reader, CSVFormat.EXCEL.withDelimiter(';').withHeader().withIgnoreHeaderCase().withTrim()); |
Hier die Testmethode die auch etwas Kontext auf der Konsole ausgibt dazu. Man sieht auch, das man auf die Inhalte über einen Index oder den Spaltennamen zugreifen kann. Dann muss auch jedesmal das gleiche Ergebnis geliefert werden, das wird auch in der assert abgetestet.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
@Test public void testRead() throws Exception { ExcelReader reader = new ExcelReader(); File f = new File("src/test/resources/de/wenzlaff/linkchecker/test.csv"); CSVParser csvParser = reader.read(f.toURI()); System.out.println("Parser: " + csvParser); printRecords(csvParser); System.out.println("Parser: " + reader); reader.close(); |
Im Gradle Buildfile muss die Abhängigkeit ergänzt werden:
1 2 3 4 |
dependencies { compile group: 'org.apache.commons', name: 'commons-csv', version:'1.5' } |
oder für die Maven User:
1 2 3 4 5 |
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-csv</artifactId> <version>1.5</version> </dependency> |
Der ganze Code mit Beispiel-Projekt ist hier zu finden.