Python 如何在Django网页中显示excel文件
我是Django的新手,我有一个Django应用程序,一旦你上传了几个excel文件,它就会进行后台计算,并将结果保存在excel文件中。我需要在Django主页中以datatable的形式显示那些处理最少的excel文件。我尝试使用带有Iframe的django excel包来实现这一点。我找不到那一页。请建议是否需要修改以下代码。还有其他办法解决这个问题吗 在views.py中:Python 如何在Django网页中显示excel文件,python,django,django-excel,Python,Django,Django Excel,我是Django的新手,我有一个Django应用程序,一旦你上传了几个excel文件,它就会进行后台计算,并将结果保存在excel文件中。我需要在Django主页中以datatable的形式显示那些处理最少的excel文件。我尝试使用带有Iframe的django excel包来实现这一点。我找不到那一页。请建议是否需要修改以下代码。还有其他办法解决这个问题吗 在views.py中: import django_excel as excel import pyexcel as p def sho
import django_excel as excel
import pyexcel as p
def show_result_files(request,foldername,outputfilenames):
file_path = path + '/Data/' + foldername
if os.path.isfile(file_path + 'Final_Results.xlsx'):
for afile in request.FILES.getlist(outputfilenames):
combined_sheet = p.get_sheet(file_path + '2020MY EWPR Combined Parts List Final.xlsx')
combined_sheet.save_as(afile.sortable.html)
from IPython.display import IFrame
IFrame("afile.sortable.html", width=600, height=500)
在home.html中:
<div class="inline col-md-9" id="showFinalResults">
<form method="POST" name="showCombined" action="">{% csrf_token %}
<button name="showCombined" type="submit" class="btn btn-primary">Combined Parts List</button>
</form>
</div>
<div class="inline col-md-9" id="showFinalResults">
<form method="POST" name="showCombined" enctype="multipart/form-data" action=''>{% csrf_token %}
<div class="col">
<div class="row">
<span class="btn btn-primary btn-file">
Combined Parts List <input name="SparrowFiles" id="Sparrow" type="file" multiple="">
</span>
<button name='upload_Sparrow' type="submit" class="btn btn-secondary js-upload-files" data-toggle="modal" data-target="#modal-progress_sp"">Go</button>
</div>
</div>
</form>
</div>
{%csrf_令牌%}
组合零件清单
{%csrf_令牌%}
组合零件清单
根据您是否希望不能使用excel的用户可以访问电子表格数据,有多种选项
最常见的是按钮是一个超链接,它调用Django视图,该视图将电子表格数据呈现为HTML
。有一个非常棒的JavaScript,它可以使这样的表在显示方面几乎和Excel一样功能强大。非常容易使用:开始简单,然后添加调整,直到完善。绝对有大量可用的示例(以及对StackOverflow的大量支持)
另一个是计算,它将结果保存为Excel,同时也保存为pdf,并在该超链接中提供pdf
最后,您可以将链接的目标设置为xlsx文件本身,如果Excel尚未设置为默认值,用户的浏览器将询问如何打开它(在Windows框上可能会设置为默认值。在Linux框上,LibreOffice Calc可能会实现大致相同的功能) 感谢@nigel222的快速回答。您是否有将excel作为html表调用的工作示例或简短演示。因为我对网络开发还不熟悉,所以我对它不太了解。感谢您的帮助。抱歉,不需要。如果您可以在后台应用程序中获取,只需将结果保存为csv
文件以及xls[x]
(或作为自定义数据文件或JSON)。Django可以快速访问csv
文件,并通过模板将数据呈现到html表中。(查找Pythoncsv
模块,或json
如果是json)。如果你不能,你将不得不从Excel文件中提取数据,而我在这方面没有任何经验。Datatables的文档记录得非常精美。