我是Django的新手,我有一个Django应用程序,一旦您上传了几个excel文件,它就会进行后台计算并将结果保存在excel文件中。我需要在Django主页中以数据表的形式显示那些处理最少的excel文件。我尝试将django-excel软件包与iframe一起使用。我无法获取该页面。请建议以下代码是否需要修改。还有其他方法可以解决此问题吗?
在views.py中:
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>
当单击“ showCombined”按钮时,我希望在主页上显示生成的excel文件是什么
答案 0 :(得分:0)
有多种选择,具体取决于您是否希望不使用excel的用户可以访问电子表格数据。
最一般的是,该按钮是一个超链接,该超链接调用Django视图,该视图将电子表格数据呈现为HTML <table>
。有一个非常出色的JavaScript,称为DataTables,就显示而言,它可以使这种表几乎具有与Excel相同的功能。非常易于使用:从简单开始,然后添加调整直到完善。绝对有大量示例可用(并且在StackOverflow上有很多支持)。
另一个用于计算的结果是将其结果另存为Excel,也可以另存为pdf,并在该超链接中提供pdf。
最后,您可以将链接的目标设置为xlsx文件本身,如果尚未将Excel设置为默认值(在Windows框上可能设置为默认值),则用户的浏览器将询问如何打开它。一个Linux盒子LibreOffice Calc可能会完成很多相同的操作。)