Python 通过“按钮”从Bokeh服务器下载excel文件

Python 通过“按钮”从Bokeh服务器下载excel文件,python,bokeh,Python,Bokeh,我有一个Bokeh目录格式,如下所示 BTSapp.py是我的“main.py”的等价物 在数据文件夹中,我有一个输入excel文件和一个输出excel文件。我编写了一个脚本来转换输入文件中的数据并将其写入输出文件。我想创建一个bokeh按钮,当最终用户单击它时,他们可以下载输出文件 有人能帮我吗?我在stackoverflow上也发现了这个问题:但在我的案例中,我无法让它工作。我一直收到JScode_xhr的语法错误 先谢谢你 我自己试过了,下面是正确的代码。它还将修复双重警报的问题,以及在激

我有一个Bokeh目录格式,如下所示

BTSapp.py是我的“main.py”的等价物

在数据文件夹中,我有一个输入excel文件和一个输出excel文件。我编写了一个脚本来转换输入文件中的数据并将其写入输出文件。我想创建一个bokeh按钮,当最终用户单击它时,他们可以下载输出文件

有人能帮我吗?我在stackoverflow上也发现了这个问题:但在我的案例中,我无法让它工作。我一直收到JScode_xhr的语法错误

先谢谢你


我自己试过了,下面是正确的代码。它还将修复双重警报的问题,以及在激活js代码后生成2个excel文件的问题。 注:这是本标准的调整版本

JScode_fetch = """
var filename = 'my_BSS_result.xlsx';

fetch('/app/static/output.xlsx', {cache: "no-store"}).then(response => response.blob())
                .then(blob => {
                    //addresses IE
                    if (navigator.msSaveBlob) {
                        navigator.msSaveBlob(blob, filename);
                    }

                    else {
                        var link = document.createElement("a");
                        link.href = URL.createObjectURL(blob);
                        
                        link.download = filename;
                        link.target = "_blank";
                        link.style.visibility = 'hidden';
                        link.dispatchEvent(new MouseEvent('click'))
                        URL.revokeObjectURL(url);
                    }
                    return response.text();
                });