Export to CSV,

in Export to CSV, i have overall 2500 records, and while exporting it takes long time to export all records, so, i have decided to export in the form of 1st 50 students,and, 2nd 50 students,so on. I have tried the below code. but it could able to fetch only 1st 50 students.

please, guide me how to solve the problem

@student_count = Student.find(:all)       @count1 = @student_count.count       st_per_file = 50       count = 0       unless @count1==count       students = Student.find(:all, :order => 'name', :limit => st_per_file, :offset => (st_per_file*count))       count = count + 1       end

do something like this

Student.all(:order => 'name').in_groups_of(50, false).each_with_index do |group,index|
  export_to_csv("file_number#{index}.csv", group)
end

see http://stackoverflow.com/questions/1360682/rails-csvexport-to-csv-loop/1361155#1361155 for more info regarding the exact same question

Adam

lamrin Pn wrote:

in Export to CSV, i have overall 2500 records, and while exporting it takes long time to export all records, so, i have decided to export in the form of 1st 50 students,and, 2nd 50 students,so on. I have tried the below code. but it could able to fetch only 1st 50 students.

please, guide me how to solve the problem

@student_count = Student.find(:all)       @count1 = @student_count.count       st_per_file = 50       count = 0       unless @count1==count       students = Student.find(:all, :order => 'name', :limit => st_per_file, :offset => (st_per_file*count))       count = count + 1       end

     filename = 'students.csv'       headers.merge!(         'Content-Type' => 'text/csv',         'Content-Disposition' => "attachment; filename=\"#{filename}\"",         'Content-Transfer-Encoding' => 'binary'       )