Django/Python:将HTML表格保存为Excel
我有一个HTML表格,想把它导出到Excel文件里。我现在有一个选项可以把表格导出成IQY文件,但我更希望有一个方法,不让用户在Excel里刷新数据。我只想要一个功能,能够在用户点击链接或按钮时,抓取表格当时的快照。
我希望这个功能能在HTML页面上有一个链接或按钮,让用户可以保存表格中显示的查询结果。如果能保留HTML/CSS的格式就更好了。请问有没有办法做到这一点?或者说,有什么可以修改IQY的方法吗?
如果需要的话,我可以提供更多细节。谢谢!
3 个回答
0
Excel可以打开包含表格的HTML文件,并把它当作电子表格来使用(即使里面有CSS样式也没问题)。
基本上,你需要通过Django的视图来提供这个HTML内容,并设置内容类型为application/ms-excel
,就像Roberto说的那样。
如果你想尝试一些新东西,可以使用类似Downloadify的工具来准备文件,让用户在客户端下载。
2
使用CSV格式。Python里有一个叫“csv”的模块可以用来生成CSV文件,而Excel可以直接打开这种格式的文件。
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