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

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'
  )