У меня возникли проблемы при экспорте файла Excel с помощью кнопки экспорта, он не отображается автоматически, но когда я проверяю элемент, затем выбираю сеть, если я нажимаю статус экспорта, он загружается, но для меня будет сложно проверить элемент, вместо этого просто щелкните один кнопка. Я использовал Chrome. Я уже пробовал настроить автоматическую загрузку, но результат будет тот же. Это проблема новой версии веб-браузера или моего кода?

Это мой код
Код: Выделить всё
@csrf_exempt
def export_status(request):
with connection.cursor() as cursor:
cursor.execute("""
SELECT tev_incoming.id,tev_outgoing.dv_no AS dv_no, tev_incoming.code, tev_incoming.account_no, tev_incoming.id_no, tev_incoming.first_name, tev_incoming.middle_name,
tev_incoming.last_name, tev_incoming.date_travel, tev_incoming.division, tev_incoming.section, tev_incoming.status_id, au.first_name AS incoming_by,rb.first_name AS reviewed_by,
tev_incoming.original_amount, tev_incoming.final_amount, tev_incoming.incoming_in AS date_actual, tev_incoming.updated_at AS date_entry,
tev_incoming.incoming_out AS date_reviewed_forwarded, tev_bridge.purpose AS purposes
FROM tev_incoming
INNER JOIN (
SELECT MAX(id) AS max_id
FROM tev_incoming
GROUP BY code
) AS latest_ids
ON tev_incoming.id = latest_ids.max_id
LEFT JOIN tev_bridge
ON tev_incoming.id = tev_bridge.tev_incoming_id
LEFT JOIN tev_outgoing
ON tev_bridge.tev_outgoing_id = tev_outgoing.id
LEFT JOIN auth_user AS au
ON au.id = tev_incoming.user_id
LEFT JOIN auth_user AS rb
ON rb.id = tev_incoming.reviewed_by
ORDER BY tev_incoming.id DESC;
""")
rows = cursor.fetchall()
response = HttpResponse(content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
response['Content-Disposition'] = 'attachment; filename={date}-TRIS-REPORT.xlsx'.format(
date=datetime.now().strftime('%Y-%m-%d'),
)
workbook = Workbook()
worksheet = workbook.active
worksheet.title = 'REPORT'
header_font = Font(name='Calibri', bold=True)
centered_alignment = Alignment(horizontal='center')
border_bottom = Border(
bottom=Side(border_style='medium', color='FF000000'),
)
wrapped_alignment = Alignment(
vertical='top',
wrap_text=True
)
columns = [
'DV NO',
'CODE',
'ACCOUNT NO',
'ID NO',
'FIRSTNAME',
'MIDDLENAME',
'LASTNAME',
'DATE TRAVEL',
'DIVISION',
'SECTION',
'STATUS ID',
'INCOMING BY',
'REVIEWED BY',
'ORIGINAL AMOUNT',
'FINAL_AMOUNT',
'DATE ACTUAL RECEIVED',
'DATE ENTRY',
'DATE REVIEWED FORWARDED',
'PURPOSE',
]
row_num = 1
for col_num, column_title in enumerate(columns, 1):
cell = worksheet.cell(row=row_num, column=col_num)
cell.value = column_title
cell.font = header_font
column_letter = get_column_letter(col_num)
column_dimensions = worksheet.column_dimensions[column_letter]
for tris in rows:
row_num += 1
row = [
tris[1], # dv_no
tris[2], # code
tris[3], # account_no
tris[4], # id_no
tris[5], # first_name
tris[6], # middle_name
tris[7], # last_name
tris[8], # date_travel
tris[9], # division
tris[10], # section
tris[11], # status_id
tris[12], # incoming_by
tris[13], # reviewed_by
tris[14], # original_amount
tris[15], # final_amount
tris[16],
tris[17],
tris[18], # date_reviewed_forwarded
tris[19], # purposes
]
for col_num, cell_value in enumerate(row, 1):
cell = worksheet.cell(row=row_num, column=col_num)
cell.value = cell_value
column_letter = get_column_letter(col_num)
column_dimensions = worksheet.column_dimensions[column_letter]
column_dimensions.width = 19
workbook.save(response)
return response
Код: Выделить всё
$.ajax({
type: 'POST',
url: "{% url 'export-status' %}"
}).done(function (data) {
});
Источник: https://stackoverflow.com/questions/781 ... -in-django