Django / Python:将HTML表格保存到Excel

时间:2010-04-14 18:40:26

标签: python django excel html-table

我有一个HTML表格,我希望能够导出到Excel文件。我已经有了将表导出到IQY文件的选项,但我更喜欢不允许用户通过Excel刷新数据的东西。我只想要一个在用户点击链接/按钮时获取表格快照的功能。

如果该功能是HTML页面上的链接/按钮,我希望用户能够保存表格中显示的查询结果。如果可以保留HTML / CSS的格式也会很好。有没有办法做到这一点?或者,我可以用IQY修改一些东西吗?

如果需要,我可以尝试提供更多详细信息。提前谢谢。

3 个答案:

答案 0 :(得分:7)

您可以使用优秀的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

答案 1 :(得分:2)

使用CSV。 Python中有一个模块(“csv”)来生成它,excel可以原生地读取它。

答案 2 :(得分:0)

Excel支持打开包含表格作为电子表格的HTML文件(即使使用CSS格式)。

你基本上必须从django视图提供HTML内容,内容类型application/ms-excel正如Roberto所说。

或者,如果您喜欢冒险,可以使用类似Downloadify的内容来准备要在客户端下载的文件。