У меня есть HTML-таблица, которую я хотел бы смочь экспортировать в файл Excel. У меня уже есть опция экспортировать таблицу в файл IQY, но я предпочел бы что-то, что не позволило пользователю обновлять данные через Excel. Я просто хочу функцию, которая берет снимок таблицы в то время, когда пользователь нажимает на ссылку.
Я предпочел бы его, если бы функцией была ссылка/кнопка на страницу HTML, которая позволяет пользователю сохранять результаты запроса, отображенные в таблице. Также было бы хорошо, если форматирование от HTML/CSS могло бы быть сохранено. Существует ли способ сделать это вообще? Или, что-то я могу изменить с IQY?
Я могу попытаться предоставить больше подробную информацию в случае необходимости.Заранее спасибо.
Вы можете использовать отличный модуль 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
Excel поддерживает открытие файла HTML, содержащего таблицу, в виде электронной таблицы (даже с форматированием CSS).
Вы в основном должны обслуживать этот HTML-контент из представления django с помощью типа содержимого application / ms-excel
, как сказал Роберто.
Или, если вы любите приключения, вы можете использовать что-то вроде Downloadify , чтобы подготовить файл для загрузки на стороне клиента.
Использовать CSV. В Python есть модуль ("csv") для его генерации, и excel может читать его изначально.