If you are running on Windows you can use create and read speadsheets
using the ''win32ole'' require
This sample should give you the basic idea
------
def export
require ''win32ole''
@sort_by = ''last_name''
current_user = ''steve''
@records = Contact.find(
:all,
:conditions => ["created_by = ?",
self.current_user.login.to_s] #,
#:order => @sort_by
)
# Creates OLE object to Excel
excel = WIN32OLE.new("excel.application")
# Create the chart
excel[''Visible''] = TRUE;
excel.DisplayAlerts = false #Supress''s Excel warnings
workbook = excel.Workbooks.Add();
excel.Range("a1")[''Value''] = ''First
Name'';
excel.Range("b1")[''Value''] = ''Last
Name'';
excel.Range("c1")[''Value''] = ''Middle
Name'';
excel.Range("d1")[''Value''] =
''Name'';
# add extra stuff down here
line_count = 1
@records.each do | contact |
line_count = line_count + 1
excel.Range("a" + line_count.to_s.strip
)[''Value''] contact.first_name.to_s
excel.Range("b" + line_count.to_s.strip
)[''Value''] contact.last_name.to_s
excel.Range("c" + line_count.to_s.strip
)[''Value''] contact.middle_name.to_s
excel.Range("d" + line_count.to_s.strip
)[''Value''] (contact.first_name.to_s + " " +
contact.middle_name.to_s + " " +
contact.last_name.to_s).strip
end
# Here are some common file formats:
xlCSV=6
xlCSVMac=22
xlCSVMSDOS=24
xlCSVWindows=23
xlCurrentPlatformText=-4158
xlExcel9795=43
xlTextMSDOS=21
xlTextPrinter=36
xlTextWindows=20
workbook.SaveAs ''contacts_export.csv'', xlCSV
excel.Quit
excel = nil #release the excel object
GC.start #call Garbage collector
end
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---
steve wrote:> If you are running on Windows you can use create and read speadsheets > using the ''win32ole'' require > > > This sample should give you the basic idea > ------ > > > def export > require ''win32ole'' > > @sort_by = ''last_name'' > current_user = ''steve'' > @records = Contact.find( > :all, > :conditions => ["created_by = ?", > self.current_user.login.to_s] #, > #:order => @sort_by > ) >As server side solution, it does not scale at all. Regards, rp8 ======================http://competo.com -- 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 -~----------~----~----~----~------~----~------~--~---