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 Thanks in advance Sijo -- 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Michael Guterl
2009-Apr-16 02:38 UTC
Re: Spreadsheet -avoid reading and writing from file how?
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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---