manuel__89 ha scritto:
ho fatto un'applicazione che preleva un file.csv in locale e lo mostra sul browser, ma non riesco a mostrarlo come una tabella tipica di excel,
ottenedo per esempio:
1;2;3
4;5;6
Io vorrei una semplice tabella con <table> , <td> etc... but non ci riesco, molto probabilmente sto sbagliando libreria e codice
Innanzitutto dal codice postato deduco che stai usando la Apache Commons CSV (ho fatto una veloce ricerca).
Non la conosco (mai usata personalmente) ma ho adesso il javadoc sottomano.
Innanzitutto il tuo file csv che delimitatore usa? Il default di quella CSVFormat.EXCEL è la virgola. Se nel tuo caso è differente, devi configurarlo con il withDelimiter. Ci sono anche altri metodi di configurazione (withQuote, withRecordSeparator, ecc...)
Comunque il parse() restituisce un CSVParser che è-un Iterable<CSVRecord> dove CSVRecord (che è-un Iterable<String>) è una singola riga. Che quindi DEVI a tua volta iterare.
Quindi hai bisogno di 2 iterazioni annidate!
Grosso modo (NON posso testarlo ora):
<table style="width:100%">
<% for (CSVRecord record : records) { %>
<tr>
<% for (String value : record) { %>
<td><%= value %></td>
<% } %>
</tr>
<% } %>
</table>
Detto in parole: per ogni record (riga), genera un blocco <tr>. Per ogni valore nel record, genera un <td> con dentro il valore.
P.S. Mixare HTML e scriptlet Java è molto brutto (e il <%= value %> ti espone a del HTML "sballato").