Export filtered data

22 views
Skip to first unread message

tech george

unread,
Jan 20, 2023, 12:50:53 AM1/20/23
to django...@googlegroups.com
Hello,

I have been trying to export filtered table data to excel but was unlucky.

I can filter the table by date range successfully but can export the filtered data.

Below is my view.py. Please help....

def export_sickoff_export(request):
if request.method=="POST":
start_date = request.POST.get('start_date')
end_date = request.POST.get('end_date')
search_results = Prescription.objects.filter(date_precribed__range=[start_date,end_date])

return render(request, 'pharmacist_templates/reports/referrals_report.html', {"data": search_results})

response = HttpResponse(content_type='application/ms-excel')
response['Content-Disposition'] = 'attachment; filename=Referrals & Sick-offs' + \
str(datetime.datetime.now())+'.csv'

wb = xlwt.Workbook(encoding='utf-8')
ws = wb.add_sheet('Prescription,Patients')

#Sheet header, first row
row_num = 0

font_style = xlwt.XFStyle()
font_style.font.bold = True

columns = ['Payroll No', 'First Name', 'Last Name', 'Non Work Related SickOff', 'Work Related SickOff', 'Referral', 'Remarks', 'Date']

for col_num in range(len(columns)):
ws.write(row_num, col_num, columns[col_num], font_style)

# Sheet body, remaining rows
font_style = xlwt.XFStyle()

rows = Prescription.objects.filter(nurse=request.user.pharmacist).values_list('patient_id__reg_no', 'patient_id__first_name', 'patient_id__last_name', 'non_work_related_sickOff', 'work_related_sickOff', 'referral', 'remarks', 'date_precribed')

for row in rows:
row_num += 1
for col_num in range(len(row)):
ws.write(row_num, col_num, str(row[col_num]), font_style)
# for patient in patients:
# writer.writerow(patient)

wb.save(response)
return response

else:
displaydata = Prescription.objects.filter(nurse=request.user.pharmacist).order_by('-id')
return render(request, 'pharmacist_templates/reports/referrals_report.html', {"data":displaydata})
Reply all
Reply to author
Forward
0 new messages