如何在Django网页中显示Excel文件

时间:2019-05-15 12:26:36

标签: python django django-excel

我是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文件是什么

1 个答案:

答案 0 :(得分:0)

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

最一般的是,该按钮是一个超链接,该超链接调用Django视图,该视图将电子表格数据呈现为HTML <table>。有一个非常出色的JavaScript,称为DataTables,就显示而言,它可以使这种表几乎具有与Excel相同的功能。非常易于使用:从简单开始,然后添加调整直到完善。绝对有大量示例可用(并且在StackOverflow上有很多支持)。

另一个用于计算的结果是将其结果另存为Excel,也可以另存为pdf,并在该超链接中提供pdf。

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