2011-01-10 12 views

risposta

1

Un file XLSX è essenzialmente una raccolta zippata di file XML. Se non trovi gem adatto, puoi provare a generarli manualmente usando Ruby, possibilmente usando un modello vuoto salvato da Excel. Lo facevamo, lavoravamo abbastanza bene, sfortunatamente quel codice non è open source.

Ma alla fine, avevamo bisogno di un maggiore controllo sul modo in cui il risultato sembra così abbiamo creato una soluzione basata su .NET con automazione di Excel.

16

Per l'attività di scrittura/esportare file XLSX, Axlsx è la più caratteristica compl ete biblioteca che ho trovato. Tuttavia, non supporta la lettura/importazione di file xlsx.

https://github.com/randym/axlsx

Ecco descrizione dell'autore:

generazione XLSX con i grafici, le immagini, la larghezza delle colonne automatizzato, stili personalizzabili e validazione completa schema. Axlsx eccelle a aiutandoti a generare bellissimi documenti Office Open XML Spreadsheet senza dover comprendere l'intera specifica ECMA. Controlla il README per alcuni esempi di quanto sia facile. Meglio ancora, puoi convalidare il tuo file xlsx prima della serializzazione in modo da sapere con certezza che il file generato verrà caricato sulla macchina del tuo cliente.

+1

Aggiungerò anche che la gemma è [molto] (http://axlsx.blog.randym.net/) [bene] (https://github.com/randym/axlsx#readme) [documentato] (https : //github.com/randym/axlsx/tree/master/examples) e [mantenuto attivamente] (https://github.com/randym/axlsx/graphs/commit-activity). –

+1

La libreria è solo in scrittura e non supporta affatto la lettura dei file xlsx esistenti. :-( –

+0

@morganchristiansson Hai ragione, non me ne ero accorto perché ho solo bisogno di scrivere Scusa per la confusione :( –

0

Ho trovato le interfacce di tutto il rubino esistente eccellere librerie di essere molto poco ruby-like, e particolarmente impreciso quando si determinano i tipi di cella durante la lettura dei file.

Quindi, se stai cercando qualcosa che sia (IMO) più semplice, ho usato con successo la combinazione di simple_xlsx_reader e simple_xlsx_writer.

Sono l'autore di simple_xlsx_reader e, al momento della stesura di questo documento, non ho test in simple_xlsx_reader che affermano tutti i casi d'uso per leggere i file generati da simple_xlsx_writer, quindi non posso dire che sia completamente supportato, ma posso dire di aver implementato un'applicazione di produzione che utilizzava entrambe le librerie back-to-back per diversi test di integrazione, senza problemi.

1

Aggiunta all'elenco di gemme sopra, Roo (https://github.com/roo-rb/roo) è una gemma rubino popolare che viene utilizzata per gestire e lavorare con i file excel e xlsx.

+2

A giudicare dal loro readme, è un accesso di sola lettura. –

0

Verificare con questo gioiello, che è molto utile per generare qualsiasi difficile formato/disposizione gemma 'axlsx', GitHub: 'randym/axlsx', ramo: 'master' e si riferiscono questi il ​​collegamento di di Documentazione axlsx-documentation

Problemi correlati