Django/Python:将HTML表保存到Excel
我有一个HTML表格,我希望能够导出到Excel文件。我已经有了将表格导出到IQY文件的选项,但我更喜欢不允许用户通过Excel刷新数据的选项。我只想要一个功能,在用户单击链接/按钮时拍摄表的快照 如果该功能是HTML页面上的一个链接/按钮,允许用户保存表中显示的查询结果,那么我更喜欢它。如果HTML/CSS中的格式可以保留,那也很好。有没有办法做到这一点?或者,我可以用IQY修改什么Django/Python:将HTML表保存到Excel,python,django,excel,html-table,Python,Django,Excel,Html Table,我有一个HTML表格,我希望能够导出到Excel文件。我已经有了将表格导出到IQY文件的选项,但我更喜欢不允许用户通过Excel刷新数据的选项。我只想要一个功能,在用户单击链接/按钮时拍摄表的快照 如果该功能是HTML页面上的一个链接/按钮,允许用户保存表中显示的查询结果,那么我更喜欢它。如果HTML/CSS中的格式可以保留,那也很好。有没有办法做到这一点?或者,我可以用IQY修改什么 如果需要,我可以尝试提供更多细节。提前感谢。使用CSV。Python中有一个模块(“csv”)来生成它,exc
如果需要,我可以尝试提供更多细节。提前感谢。使用CSV。Python中有一个模块(“csv”)来生成它,excel可以本机读取它。您可以使用这个优秀的模块。 它非常易于使用,并以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格式) 基本上,您必须从django视图提供HTML内容,内容类型为
application/msexcel
,正如Roberto所说
或者,如果您喜欢冒险,您可以使用类似的方法准备要在客户端下载的文件。从用户界面的角度来看,我如何向用户展示CSV文件?用户可能已经在查看页面,所以他们会单击一个链接,然后返回到某个视图函数并生成CSV文件,然后…?此外,CSV不会保留我的HTML表已经具有的任何格式,对吗?对。有了CSV,结果就不那么好看了;这不仅仅是样式的问题,甚至列宽也是标准的。由于有很多方法可以生成原生Excel文件,我不建议使用CSV。但原则很重要:您不是将HTML表转换为Excel,而是使用view函数以不同的格式输出相同的数据。