Django/Python: Сохраните HTML-таблицу к Excel

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

Я предпочел бы его, если бы функцией была ссылка/кнопка на страницу HTML, которая позволяет пользователю сохранять результаты запроса, отображенные в таблице. Также было бы хорошо, если форматирование от HTML/CSS могло бы быть сохранено. Существует ли способ сделать это вообще? Или, что-то я могу изменить с IQY?

Я могу попытаться предоставить больше подробную информацию в случае необходимости.Заранее спасибо.

5
задан kafuchau 14 April 2010 в 18:51
поделиться

3 ответа

Вы можете использовать отличный модуль xlwt . Он очень прост в использовании и позволяет создавать файлы в формате xls (Excel 2003).

Вот (непроверенный!) Пример использования представления Django:

from django.http import HttpResponse
import xlwt

def excel_view(request):
  normal_style = xlwt.easyxf("""
     font:
         name Verdana
     """) 
  response = HttpResponse(mimetype='application/ms-excel')
  wb = xlwt.Workbook()
  ws0 = wb.add_sheet('Worksheet')
  ws0.write(0, 0, "something", normal_style)
  wb.save(response)
  return response
7
ответ дан 14 December 2019 в 01:04
поделиться

Excel поддерживает открытие файла HTML, содержащего таблицу, в виде электронной таблицы (даже с форматированием CSS).

Вы в основном должны обслуживать этот HTML-контент из представления django с помощью типа содержимого application / ms-excel , как сказал Роберто.

Или, если вы любите приключения, вы можете использовать что-то вроде Downloadify , чтобы подготовить файл для загрузки на стороне клиента.

0
ответ дан 14 December 2019 в 01:04
поделиться

Использовать CSV. В Python есть модуль ("csv") для его генерации, и excel может читать его изначально.

2
ответ дан 14 December 2019 в 01:04
поделиться
Другие вопросы по тегам:

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