this is my controller:
class ExportController < ApplicationController
# example action to return the contents
# of a table in CSV format
def curriculumplans
programmes = Programme.find(:all)
degrees = Degree.find(:all)
stream_csv do |csv|
programmes.each do |p|
csv << [p.programme_name]
csv << ["Programme Code:", p.programme_code]
csv << ["Curriculum Plan Dated:" ,
p.created_at.strftime("%d-%m-%y")]
csv << []
csv << ["Compulsory Courses:", p.ct_compulsory]
csv << ["Elective Courses:", p.ct_elective]
csv << ["Major Elective Courses:", p.ct_majorelective]
csv << ["Minor Elective Courses:", p.ct_minorelective]
csv << ["Major Minor Courses:", p.ct_majorminor]
csv << []
csv << ["Course Code","Course Name","Credit
Units","''Jul 08","''Jan
09","''Jul 09","''Jan 10","Last
Semester of Presentation","Excluded
Combination","Grouping","Remarks","Day","Week","Term","Course
Type"]
degrees.each do |d|
csv << [d.course.course_code, d.course.course_name,
d.course.creditunit.cu, d.course.jul08, d.course.jan09, d.course.jul09,
d.course.jan10, d.course.lmonth.month + d.course.lyear.year,
d.course.excluded_combination, d.course.grouping, d.course.remark,
d.course.day.day, d.course.week.week, d.course.term.term,
d.coursetype.coursetype]
end
end
end
end
private
def stream_csv
filename = params[:action] + ".csv"
#this is required if you want this to work with IE
if request.env[''HTTP_USER_AGENT''] =~ /msie/i
headers[''Pragma''] = ''public''
headers["Content-type"] = "text/plain"
headers[''Cache-Control''] = ''no-cache,
must-revalidate,
post-check=0, pre-check=0''
headers[''Content-Disposition''] = "attachment;
filename=\"#{filename}\""
headers[''Expires''] = "0"
else
headers["Content-Type"] ||= ''text/csv;
charset=iso-8859-1;
header=present''
headers["Content-Disposition"] = "attachment;
filename=\"#{filename}\""
end
render :text => Proc.new { |response, output|
csv = FasterCSV.new(output, :row_sep => "\r\n")
yield csv
}
end
end
1) somehow the "Jul 08", "Jan 09", "Jul 09",
"Jan 10" column names does
not appear as i''ve typed in the excel file
it appears as 8-Jul, 9-Jan, 9-Jul, 10-Jan instead.
2) also for the "Last Semester of Presentation" >>
u.lmonth.month +
u.lyear.year
it comes out as eg. Feb-09 or Jan-14 (it''s supposed to come out like
"Jan 2004")
in the database, lyear.year is stored in full (2004, 2014)
how do i change the controller such that the excel csv will stop messing
with my dates?
(i''m using the plugin fastercsv)
thank you in advance!
--
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
-~----------~----~----~----~------~----~------~--~---