gpt4 book ai didi

python - 如何在Django网页中显示excel文件

转载 作者:行者123 更新时间:2023-12-01 07:52:18 28 4
gpt4 key购买 nike

我是 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 文件显示在主页中

最佳答案

有多种选项,具体取决于您是否希望不能使用 Excel 的用户可以访问电子表格数据。

最常见的是按钮是一个超链接,调用 Django View ,该 View 将电子表格数据呈现为 HTML <table> 。有一个非常棒的 JavaScript 叫做 DataTables就显示而言,这样的表格几乎与 Excel 一样功能。非常易于使用:从简单开始,然后添加调整直至完美。绝对有大量可用的示例(并且 StackOverflow 上有很多支持)。

另一个用于计算,将其结果保存为 Excel,同时另存为 pdf,并在该超链接中提供 pdf。

最后,您可以将 xlsx 文件本身作为链接的目标,如果 Excel 尚未设置为默认值(在 Windows 机器上可能会设置为默认值),用户的浏览器将询问如何打开它。 Linux 盒子 LibreOffice Calc 可能会完成大致相同的任务。)。

关于python - 如何在Django网页中显示excel文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56149348/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com