Ho creato un bel giochino per trasforare un tabulato in un excel.
Rimane un nodo insoluto:
per inviare il file all’utente devo salvare il file su disco e poi lo
invio.
Il file mi rimane sul disco
Domandone: E’ possibile inviare il file xls senza salvarlo sul disco?
Ho creato un bel giochino per trasforare un tabulato in un excel.
Rimane un nodo insoluto:
per inviare il file all’utente devo salvare il file su disco e poi lo
invio.
Il file mi rimane sul disco
Domandone: E’ possibile inviare il file xls senza salvarlo sul disco?
Il problema non è l’invio dei file ma come posso “serializzare” il
documento excel senza doverlo salvare sul disco.
Attualmente utilizzo send_file, ma vorrei non salvare il file e inviare
i dati tramite send_data.
Ho creato una classe (in lib) per gestire l’excel la allego (magari può
risultare utile anche ad altri)
P.S. Può essere utilizzata anche fuori da rails
On Wed, Oct 1, 2008 at 10:52 AM, Michele C. [email protected]
wrote:
Il problema non è l’invio dei file ma come posso “serializzare” il
documento excel senza doverlo salvare sul disco.
Attualmente utilizzo send_file, ma vorrei non salvare il file e inviare
i dati tramite send_data.
Purtroppo non mi basta generare un file csv in quanto ho enne fogli in
un unico file.
Creo workbook e sheet, valorizzo i dati nelle celle prima di salvare il
file.
Dimmi se è una soluzione:
elaboro il file xls
salvo il file
mi apro il file con File.open nomefile, “rb”
il file me lo importo in una variabile
infine invio la variabile con send_data
L’anno passato winole non permetteva di maneggiare i dati di excel se
non salvandoli su disco, non so se hanno agiornato le API recentemente.
In rails puoi creare un file temporaneo e cancellarlo dopo l’invio con
un
around filter
Per non lasciare nulla al caso ho aggiunto un metodo alla classe
“elabxls”
def serializedata
outdata = ‘’
File.open(@nome_file, “rb”) do |fileXls|
while !fileXls.eof
outdata += fileXls.read(4096)
end
end
return outdata
end
La si deve chiamare alla fine del ciclo di “elabora”
Ovviamente nel ciclo elabora deve esserci il salvataggio del file.
Ciao Michele.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.