Java: Come esportare i dati (db, interrogare o contenuti della tabella) per Excel?
-
27-10-2019 - |
Domanda
Mi piacerebbe sapere come esportare il contenuto di una tabella oppure i dati da una query in un file Excel. Anche wich è l'estensione del file che è meglio per l'esportazione, xls o csv?
Grazie in anticipo.
Modifica:. Quello che voglio è che l'utente sia in grado di esportare il contenuto di una JTable -contenenti i risultati di una query- in un file compatibile con Excel, premendo un pulsante
Non so qual è il modo migliore per farlo? Ho trovato vari modi, ma io non sono sicuro che uno da seguire. E 'possibile generare un JasperReport poi esportare tha stessi dati in Excel?
Edit2: Ok così ho deciso di esportare in formato .csv come la maggior parte di voi suggerire. La mia ultima domanda è che uno è meglio usare, opecsv o javacsv ? Entrambi sembrano davvero facile da usare.
Grazie!
Soluzione
L'esportazione in formato CSV è più facile - e potrebbe essere fatto manualmente in un pizzico a seconda dei dati (Ogni nuova riga è una nuova linea, e valori delle celle sono separati da una virgola) - Non ci sono le librerie open source disponibili per questo (http : //opencsv.sourceforge.net/), e il codice per la copia di un gruppo di risultati per l'output dovrebbe essere banale
Altri suggerimenti
Se avete assolutamente bisogno di Excel, utilizzare la libreria Apache POI.
È necessario creare file di testo (CSV) e scrivere il risultato di database.
PrintWriter out
= new PrintWriter(new BufferedWriter(new FileWriter("foo.csv")));
while(rs.next())
{
out.println(String.format("%s,%s,%s",rs.getString(1),rs.getString(2),rs.getString(3));
}
In aggiunta alle risposte già date, vorrei dire che io preferirei CSV.
CSV è indipendente dalle applicazioni e si poteva manipolare i dati in seguito con qualsiasi altra lingua / programma (Python, R, Java, Excel, ecc).
ho avuto un buon successo con jXLS: http://jxls.sourceforge.net/
questo consente di utilizzare JSP come i tag in un modello nativo di Excel con tutta la formattazione ecc Si passa i dati di sostituire in tale modello Excel da chiamate API Java, attraverso una struttura Map (analoga alla richiesta di portata Vars.)
Questa è una buona alternativa più leggera per JasperReports se si desidera formattato Excel uscita.