{"id":10093,"date":"2018-05-13T18:47:41","date_gmt":"2018-05-13T16:47:41","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=10093"},"modified":"2018-11-04T11:55:27","modified_gmt":"2018-11-04T10:55:27","slug":"wie-kann-eine-excel-csv-datei-mit-java-mit-apache-commons-eingelesen-werden","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=10093","title":{"rendered":"Wie kann eine Excel CSV Datei mit Java mit Apache commons eingelesen werden?"},"content":{"rendered":"<p>Will man Excel CSV Dateien einlesen geht das mit einem <strong>Einzeiler<\/strong> in Java:<\/p>\n<pre class=\"lang:java decode:true \" >\r\nparser = new CSVParser(reader, CSVFormat.EXCEL.withDelimiter(';').withHeader().withIgnoreHeaderCase().withTrim());\r\n<\/pre>\n<p>Hier die Testmethode die auch etwas Kontext auf der Konsole ausgibt dazu. Man sieht auch, das man auf die Inhalte \u00fcber einen Index oder den Spaltennamen zugreifen kann. Dann muss auch jedesmal das gleiche Ergebnis geliefert werden, das wird auch in der assert abgetestet.<\/p>\n<p><!--more--><\/p>\n<pre class=\"lang:java decode:true \" >\r\n@Test\r\n\tpublic void testRead() throws Exception {\r\n\r\n\t\tExcelReader reader = new ExcelReader();\r\n\r\n\t\tFile f = new File(\"src\/test\/resources\/de\/wenzlaff\/linkchecker\/test.csv\");\r\n\r\n\t\tCSVParser csvParser = reader.read(f.toURI());\r\n\r\n\t\tSystem.out.println(\"Parser: \" + csvParser);\r\n\r\n\t\tprintRecords(csvParser);\r\n\r\n\t\tSystem.out.println(\"Parser: \" + reader);\r\n\r\n\t\treader.close();\r\n<\/pre>\n<p>Im Gradle Buildfile muss die Abh\u00e4ngigkeit erg\u00e4nzt werden:<\/p>\n<pre class=\"lang:default decode:true \" >dependencies {\r\n \r\n    compile group: 'org.apache.commons', name: 'commons-csv', version:'1.5'\r\n}<\/pre>\n<p>oder f\u00fcr die Maven User:<\/p>\n<pre class=\"lang:default decode:true \" >&lt;dependency&gt;\r\n\t\t&lt;groupId&gt;org.apache.commons&lt;\/groupId&gt;\r\n\t\t&lt;artifactId&gt;commons-csv&lt;\/artifactId&gt;\r\n\t\t&lt;version&gt;1.5&lt;\/version&gt;\r\n\t&lt;\/dependency&gt;\r\n  \t<\/pre>\n<p>Der ganze Code mit Beispiel-Projekt ist <a href=\"https:\/\/github.com\/IT-Berater\/TWLinkChecker\" rel=\"noopener\" target=\"_blank\">hier<\/a> zu finden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Will man Excel CSV Dateien einlesen geht das mit einem Einzeiler in Java: parser = new CSVParser(reader, CSVFormat.EXCEL.withDelimiter(&#8218;;&#8216;).withHeader().withIgnoreHeaderCase().withTrim()); Hier die Testmethode die auch etwas Kontext auf der Konsole ausgibt dazu. Man sieht auch, das man auf die Inhalte \u00fcber einen Index oder den Spaltennamen zugreifen kann. Dann muss auch jedesmal das gleiche Ergebnis geliefert werden, &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=10093\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eWie kann eine Excel CSV Datei mit Java mit Apache commons eingelesen werden?\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[220,3161,3162,5,3163,79,2658],"tags":[500,1721,833,2178],"class_list":["post-10093","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-build","category-gradle","category-java","category-maven","category-programmierung","category-test-thema","tag-apache","tag-csv","tag-datei","tag-java"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/10093","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10093"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/10093\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10093"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10093"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}