Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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
Python 如何在Django网页中显示excel文件_Python_Django_Django Excel - Fatal编程技术网

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

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

我是Django的新手,我有一个Django应用程序,一旦你上传了几个excel文件,它就会进行后台计算,并将结果保存在excel文件中。我需要在Django主页中以datatable的形式显示那些处理最少的excel文件。我尝试使用带有Iframe的django excel包来实现这一点。我找不到那一页。请建议是否需要修改以下代码。还有其他办法解决这个问题吗

在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>

{%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表中。(查找Python
csv
模块,或
json
如果是json)。如果你不能,你将不得不从Excel文件中提取数据,而我在这方面没有任何经验。Datatables的文档记录得非常精美。