Мне нужно написать блок кода, который сгенерирует отчет xlsx из набора данных django (несколько моделей). Кадр отчета имеет более сложную структуру, чем обычные x строк и столбцов (некоторые ячейки объединены). Это должно выглядеть так:
Итак, я написал функцию просмотра:
from cut.models import *
from django.http import HttpResponse
from openpyxl.workbook import Workbook
from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font
def get_report(request):
rent_test = Renters.objects.all
response = HttpResponse(
content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
)
response['Content-Disposition'] = 'attachment; filename=FORM_1-IL.xlsx'.format()
workbook = Workbook()
worksheet = workbook.active
worksheet.title = 'A_REPORT'
worksheet.merge_cells('A2:A5')
#...
worksheet.merge_cells('M4:M5')
worksheet['A2'].value = 'name of forestry'
#...etc.
columns = [
'only_one_column'
]
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
workbook.save(response)
return response
Так что все понятно и просто.
Но как я могу использовать поля Django? Я хочу перенести их в относительную ячейку (значение поля вместо красного шрифта "значение поля"