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 rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to