Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django/Python:将HTML表保存到Excel_Python_Django_Excel_Html Table - Fatal编程技术网

Django/Python:将HTML表保存到Excel

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

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

如果该功能是HTML页面上的一个链接/按钮,允许用户保存表中显示的查询结果,那么我更喜欢它。如果HTML/CSS中的格式可以保留,那也很好。有没有办法做到这一点?或者,我可以用IQY修改什么


如果需要,我可以尝试提供更多细节。提前感谢。

使用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函数以不同的格式输出相同的数据。