Analisi dei dati excel in Java prima di salvarli nel database [chiuso]

0

Sto lavorando su qualche progetto in cui devo creare un database per archiviare i dati che sono attualmente conservati in file Excel, quindi devo apportare alcune modifiche prima di scrivere i dati nel database.

Leggerò quei file usando Java e li scriverò da Java nel database. Dovrei usare Hibernate per quel lavoro? Oppure in che altro modo posso collegarmi a quei fogli Excel, leggere i dati in Java e scrivere nel database?

    
posta Dany 21.07.2012 - 00:26
fonte

3 risposte

5

È possibile interrogare i fogli Excel utilizzando SQL con ODBC. I fogli sono trattati come tabelle. Puoi persino unire i fogli come faresti con le tabelle del database! Ti consiglio di provare prima questa opzione. Google java + ODBC + excel per i dettagli.

C'è una libreria di POI di apache. link Non sono sicuro che funzioni sul vecchio formato "binario" o solo sul nuovo formato XML delle versioni più recenti di Excel. Ma ricordo che qualcuno con cui ho lavorato usava una qualche specie di apache libarry per lavorare con fogli di excel in formato binario qualche anno fa.

In .NET è possibile utilizzare la libreria di interoperabilità excel per estrarre i dati dal foglio excel (oltre a fare qualsiasi altra cosa che si possa fare in Excel).

Una volta estratti i dati da excel, puoi caricarli nel database come faresti normalmente.

    
risposta data 21.07.2012 - 01:41
fonte
2

LibreOffice e OpenOffice potrebbero adattarti alla luna. Headless Linux-Mac-Win. Puoi ottenere il contenuto del foglio di calcolo con circa 200 righe di codice.

Utilizza le API di OpenOffice.org (o LibreOffice) per aprire i file del foglio di calcolo, accedere ai dati, eseguire le trasformazioni e quindi scrivere i dati corretti nel nuovo database.

Finché non stai cercando di fare cose di fantasia come l'inserimento e l'aggiornamento delle formule è molto semplice e multipiattaforma e poiché è open source puoi creare tutte le istanze di cui hai bisogno. Apre file xls convertendoli in oxd. In Linux è possibile eseguire in modalità senza testa e, se si dispone di multiprog, è possibile avviare più daemon OpenOffice per elaborare contemporaneamente più documenti. Non è commercializzato molto come la soluzione "pro", molti immediatamente lo guardano con cipiglio. Ma ho lavorato per molti anni a partire dal 2003, costruendo una piattaforma che stampava milioni di impressioni all'anno e il 90% del codice è ancora in esecuzione.

Abbiamo iniziato l'implementazione con 1.0 e dall'anno scorso hanno utilizzato la versione 3.x. Non è stato necessario aggiornare alcun codice per regolare l'aggiornamento. Non hai bisogno di altre API XML dipendenti dalla versione, non dovrai preoccuparti della comparabilità Open Office 3.x aprirà 97-2007 xls. Lo consiglio perché ero un analista di Platfrom R & D e sviluppatore Java. per 8 anni e ho trascorso una parte migliore di tre anni ricercando questa soluzione agenti altri.

    
risposta data 21.07.2012 - 05:39
fonte
-1

Se fossi in te, non userei il codice dedicato per questo.

Preferisci uno strumento come ETL (Talend, kettle, by example).

Sarà più semplice analizzare il tuo file e avrai già molti problemi (compatibilità, manutenibilità, ecc.) già risolti.

    
risposta data 25.07.2012 - 11:42
fonte

Leggi altre domande sui tag