xlsxwriter를 사용하여 데이터베이스의 내용을 장고 관리자에서 Excel 파일로 내보내고 있습니다. Excel 파일의 헤더는 필자의 모델 필드 이름으로 간주되고, 그 다음에 db의 데이터 행이옵니다. 내보내기 프로세스가 작동했는데 다운로드 한 Excel 파일을 열면 내 데이터베이스의 모든 열/데이터가 임의 순서로 표시됩니다. 그들은 Django 관리자에서 볼 수있는 필드와 같은 순서로 나타나지 않습니다. 장고 관리자에서 테이블의 적절한 순서로 정보 표시,xlsxwriter가 내 데이터베이스의 데이터를 장고 관리자에서 Excel로 Excel로 잘못된 순서로 내보내는 이유는 무엇입니까?
열 A - B 열 - 열 C - 열 D - 열 E - 등을 내 보낸 Excel 파일에있는 반면
나는 모든 것을보고하고있다 열 E - - 열 A - 열 D - 열 C - 등이 여기에
내 코드는
열 B, 최대 스크램블. 왜 열 이름과 데이터를 올바른 순서로 내보내지 않을지 이해할 수 없습니다. 어떤 도움을 주셔서 감사합니다!
def dump_attorneys_to_xlsx(request):
if request.GET.get('export'):
output = BytesIO()
workbook = xlsxwriter.Workbook(output, {'in_memory': True})
worksheet = workbook.add_worksheet('Summary')
attorneys = Attorney.objects.all().values()
# Write header
worksheet.write_row(0, 0, attorneys[0].keys())
# Write data
for row_index, row_dict in enumerate(attorneys, start=1):
worksheet.write_row(row_index, 0, row_dict.values())
workbook.close()
output.seek(0)
response = HttpResponse(output.read(), content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
response['Content-Disposition'] = 'attachment; filename=summary.xlsx'
return response
else:
return render("change_list.html",
context_instance=RequestContext(request),
template_name='change_list.html')
아, 설명해드립니다! Django 모델의 필드 순서와 일치하도록 사전을 정렬하는 방법이 있습니까? –