私はxlsxwriterを使用して、データベースの内容をDjangoの管理者からExcelファイルにエクスポートしています。 Excelファイルのヘッダーは私のモデルのフィールド名であり、その後に私のdbからのデータの行が続きます。私は、エクスポートプロセスが動作するようになっていますが、ダウンロードしたExcelファイルを開くと、データベースからのすべての列/データが一見ランダムな順序で表示されます。彼らはDjango管理者に見られるようにフィールドと同じ順序で表示されません。 Djangoのadminにテーブル、xlsxwriterが私のデータベースのデータをDjangoの管理者からExcelにエクスポートするのが間違った順序で行われるのはなぜですか?
列Aの適切な順序で情報を表示 - 列B - 列C - 列D - E列 - など
は私のエクスポートされたExcelファイルで、私はそれをすべて見ています一方、アップスクランブル、
列B - 列E - 列A - 列D - 列C - ここ等
私のコードです。なぜ列名とデータを正しい順序でエクスポートしないのか分かりません。どんな助けにも感謝!
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モデルのフィールドの順序と一致するように辞書を並べ替える方法はありますか? –