Excel Addin - 如何在桌面版本中触发文档下载

时间:2017-11-24 23:19:00

标签: javascript excel office-js

我正在使用Office JS开发Excel加载项,用户可以决定从远程服务器API打开文档。在这种情况下,我需要从服务器API接收文件并在Excel中打开它。

我已经找到了这个答案:Programatically open a excel document using javascript office api

所以我看到API不允许这样做,答案建议使用JS触发下载。

所以我在插件页面添加了iframe

<iframe id="download" width="1" height="1" style="display:none"></iframe>

要触发我正在执行的文档下载:

document.getElementById("download").src = downloadURL;

在线尝试时效果很好(Office 365)。

但它没有使用桌面版下载文档。

如何在桌面Excel应用程序中创建解决方案?

1 个答案:

答案 0 :(得分:1)

目前,Excel中没有API允许您以编程方式创建/打开文档。 Word 确实拥有它,并且有一个建议 - 目前正在调查中 - 也为Excel做同样的事情(https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback/suggestions/15034512-ability-to-open-replace-workbook-with-excel-js-api)。但是,我们还没有可以分享的ETA。

话虽这么说,你绝对可以弹出一个“另存为”对话框。事实上,如果您看过Script Lab,我们的“出版物出口”就是这样做的。

"Export for publishing" menu option

对于Script Lab,我们使用FileSaver NPM package。如果您想查看使用它的Script Lab代码,请参阅this file,搜索FileSaver.saveAs周围的区域。但请注意,保存为对话框似乎无法在Mac或iOS上正常工作,因此目前我们将此功能仅限于桌面和Office Online(您可以在该方法的开头看到平台检查)。

希望这有帮助!