如何使用Office Web Add In下载文件

时间:2018-04-06 19:44:49

标签: office-js

只要没有办法加载'使用Javascript API for office的客户端工作簿中的Excel模板,是否可以通过浏览器下载文件?因此用户可以手动打开它。

5 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

    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(因为在任务窗格中使用了)

Client Office Online(Excel,PowerPoint)和IE,Chrome,Safari,Firefox

不工作:

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

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

答案 1 :(得分:0)

您可以使用任何Web应用程序来下载文件。我将在使用我们的showdialog API显示的对话框中公开该功能,并确保下载文件的域位于加载项清单中的应用程序域条目中。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

download库,效果很好。

答案 4 :(得分:0)

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

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

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