@NyxDeveloper

Как сгенерировать html таблицу во view и экспортировать ее в excel?

Я хочу реализовать в приложении функционал, способный экспортировать таблицу html в файл xls. Таким функционалом обладает pandas.read_html(), но я не знаю как передать ему таблицу, т.к. ее генерирует шаблонизатор django. В общем, нужно скормить пандасу эту табличку. Подскажите как можно провернуть такое, документации по моему вопросу я нашел мало, поэтому возможно, что я сильно все усложнил. Кто сталкивался с подобным, прошу дать ссылку на доки или показать пример подобного экспорта. Спасибо!

UPD:
Короче, я нашел способ красиво это реализовать, но почему-то он не до конца работает. Я решил использовать модуль jinja2, с помощью которого генерирую файл с табличкой в реальном времени.

def prj_rep_export(request):
    with open(os.path.join(BASE_DIR, 'table.html'), 'r') as file:
        #    list - queryset, по которому в шаблоне проходит цикл чтобы вывести строки таблицы
        #    большепеременных в шаблоне нет
        table = pd.read_html(Template(file.read()).render(list=get_project_list(request.user)))
    table.to_excel("data.xlsx")
    return FileResponse(open('data.xlsx'), 'rb'), as_attachment=True)


Проблема заключается в том, что при вызове Template(file.read()).render(list=get_project_list(request.user)) возвращается пустая строка.
  • Вопрос задан
  • 137 просмотров
Решения вопроса 1
@NyxDeveloper Автор вопроса
Первое, что я хочу сказать - НИКОГДА ТАК НЕ ДЕЛАЙТЕ!
В общем, проще отдать это дело pandas, он сам разберется. И никакого html без ссылки в виде url!
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы