Sijo Kg wrote:
> Hi
> I am using http://spreadsheet.rubyforge.org/ in my application..Usage
> like
>
> book = Spreadsheet::Workbook.new
> --------
> book.write "#{RAILS_ROOT}/public/uploads/excel-file.xls"
> render :file => "#{RAILS_ROOT}/public/uploads/excel-file.xls"
> headers['Content-Type'] = "application/vnd.ms-excel"
> headers['Content-Disposition'] = "attachment; filename=excel-file.xls"
> headers['Cache-Control'] = ''
>
> In the above i am writing to a file in a location and then read.
> My question is is there any method so that writing to a file can be
> avoided ..Because if there are some 100 requests the file will be
> overwritten(Am I right?) or if give seperate names for the files the
> upload folder will grow..So is there alternative and i can read the same
> content directly
>
I didn't test this code, but looking at the api it looks like
Workbook#write will take an IO stream.
require 'stringio'
require 'spreadsheet'
book = Spreadsheet::Workbook.new
blob = StringIO.new("")
book.write blob
send_data blob
Be sure to checkout the link below on send_data, it will allow you to
transfer the stream of data without writing it to disk first.
http://api.rubyonrails.org/classes/ActionController/Streaming.html#M000402
Michael Guterl
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---