如何使用Office Web加载项下载文件

问题描述 投票:1回答:5

只要无法使用Office的Javascript API在客户端的工作簿中“加载” Excel模板,是否可以通过浏览器的“加载项”下载文件?因此用户可以手动打开它。

office-js
5个回答
-1
投票

几乎可以使用任何Web应用程序下载文件。我会在使用showdialog API所显示的对话框中公开该功能,并确保从中下载文件的域位于外接程序清单的应用程序域条目中。


3
投票

您可以执行以下操作:

    saveFileToDesktop(blob, fileName) {
        if (window.navigator.msSaveOrOpenBlob) { // IE only
            window.navigator.msSaveOrOpenBlob(blob, fileName);
        } else {
            const link = document.createElement('a');
            link.href = window.URL.createObjectURL(blob);
            link.download = fileName;
            link.click();
        }
    }

这在以下组合中为我工作:

客户端Windows Office(Excel,PowerPoint)和IE(因为在任务窗格中使用了)

客户端在线(Excel,PowerPoint)和IE,Chrome,Safari,Firefox

不工作于:

Client Mac Office(Excel,PowerPoint)和Safari(因为在任务窗格中使用了)

似乎下载正常,但是即使尝试更改首选项,我也无法访问该文件文件下载位置:要求每次下载等,但无法正常进行。


0
投票

有一个document.getFileAsync()API,可让您获取文件的所有切片。有关详细信息,请参见此处https://dev.office.com/reference/add-ins/shared/document.getfileasync


0
投票

download库,运行良好。


0
投票

作为解决方案,您可以打开新窗口,然后将文件url传递到后端:

window.open("https://yourbackend.com?fileurl="+encode(url)) 

后端应作为代理并通过重定向返回响应。这样,Outlook桌面客户端将在浏览器中打开一个新选项卡,并在其中显示/下载您的文件。

© www.soinside.com 2019 - 2024. All rights reserved.