Office js 如何使用Office Web加载项下载文件
只要无法使用Javascript API for office在客户端工作簿中“加载”Excel模板,是否可以通过浏览器的加载项下载该文件?因此,用户可以手动打开它。这与您使用任何web应用程序下载文件时所做的差不多。我将在使用showdialog API显示的对话框中公开该功能,并确保从中下载文件的域位于外接程序清单中的应用程序域条目中。有一个document.getFileAsync()API,允许您获取文件的所有片段。有关详细信息,请参见此处该库运行良好。您可以执行以下操作:Office js 如何使用Office Web加载项下载文件,office-js,Office Js,只要无法使用Javascript API for office在客户端工作簿中“加载”Excel模板,是否可以通过浏览器的加载项下载该文件?因此,用户可以手动打开它。这与您使用任何web应用程序下载文件时所做的差不多。我将在使用showdialog API显示的对话框中公开该功能,并确保从中下载文件的域位于外接程序清单中的应用程序域条目中。有一个document.getFileAsync()API,允许您获取文件的所有片段。有关详细信息,请参见此处该库运行良好。您可以执行以下操作: sa
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(因为它在任务窗格中使用)
客户端Office Online(Excel、PowerPoint)和IE、Chrome、Safari、Firefox
不在以下地点工作:
客户端Mac Office(Excel、PowerPoint)和Safari(因为它在任务窗格中使用)
似乎下载顺利,但我无法访问该文件,甚至尝试更改首选项
文件下载位置:请求每次下载等,但无法使其工作。作为解决方案,您可以打开新窗口并将文件url传递到后端:
window.open("https://yourbackend.com?fileurl="+encode(url))
后端应该充当代理并返回带有重定向的响应。
这样,Outlook桌面客户端将在浏览器中打开一个新选项卡,并在其中显示/下载您的文件。在最新的Windows 10更新之后,
navigator.msSaveOrOpenBlob
在Outlook桌面客户端中不再存在。@mirik-在新的Windows更新之后,我们的加载项现在也被破坏。你能想出这个问题的另一个解决办法吗?你能解释一下吗。可以举个例子。