2012-08-03 18 views
6

Ho un bisogno di generare un rapporto foglio Excel che si presenta come il modello seguente - Excel ReportQuali sono le migliori pratiche per il rendering dei report di Excel in Java?

So che questo può essere fatto utilizzando le librerie come JExcelApi e Apache POI. Tuttavia mi piacerebbe sapere se ci sono mezzi per realizzare questo scrivendo un modello simile alla scrittura di modelli Apache Velocity per l'invio di e-mail.

Se esiste un approccio standard valido per generare tali rapporti, cos'è?

+0

in seguito quale modello ?? – Sikorski

+0

L'immagine caricata era ciò a cui mi riferivo quando ho detto "modello" – ping

risposta

7

Perché non creare un modello con stile utilizzando Excel? Usa i segnaposti (come $ {nome.of.stampo}) per i valori che dovrebbero essere sostituiti, ma altrimenti modellare tutto come richiesto. Utilizzare un segnaposto diverso per contrassegnare la fine del modello (ciò consentirà di scrivere commenti o altri dati oltre questo spazio, per documentare il modello).

Poi, tramite JExcelApi o Apache POI,

  • aprire il file del modello, e individuare il marcatore di fine-modello.
  • aprire il file di destinazione
  • per ogni record, copiare i campi dal modello, sostituendo $ {xyz} -Valori per il loro contenuto effettivo e fermare una volta a raggiungere il tuo indicatore di end-of-modello.
  • vicino bersaglio & modello

modifica Template sarà estremamente facile. L'unico problema è mantenere i nomi dei campi sincronizzati.

+0

In aumento. Suona bene. Mi piacerebbe aprire una taglia su questa domanda per verificare se ci sono più alternative. Grazie! – ping

+0

In che modo la creazione di un 'modello con stile' è diversa dall'uso di JXLS? In caso contrario, modifica la risposta per includere la menzione di JXLS. – ping

+0

Apre un nuovo documento Excel. Formattalo secondo il tuo cuore Riempi con i segnaposti. Chiamalo un "modello", perché lo si replicherà e si riempiranno i segnaposto in seguito. Se questo è ciò che fa JXLS, la mia proposta non è quella di usarlo: dov'è il bisogno? :-) – tucuxi

1

È possibile utilizzare una libreria di reportistica standard Java come i-net Clear Reports e utilizzare il formato di output Excel.

+0

Il software di proprietà non è un'opzione per me finché ci sono librerie open source che portano a termine il lavoro. Grazie comunque. – ping

Problemi correlati