由于Excel桌面中缺少Document.getFileAsync,认证失败

时间:2015-10-07 22:01:20

标签: ms-office office365 office-js

我们有一个Excel 365加载项,它使用Document.getFileAsync(因为它是访问完整电子表格的唯一方法,无需用户选择它。)

此Excel不适用于Desktop Excel(2013年或2016年)。

我们应该如何处理有关Office Store认证的MS投诉,该应用程序未在Desktop Excel中运行?

包含

是否足够
<Requirements>
 <Sets>
  <Set Name="File" />
 </Sets>
 <Methods>
  <Method Name="Document.getFileAsync" />
 </Methods>
</Requirements>
清单中的

测试显示Excel忽略了这些选项(至少当清单来自本地文件夹时)。

或者我们是否应该实现第二个代码路径(使用不同的UI),这需要用户选择完整的电子表格,以便我们可以通过桌面Excel的getDataAsync导出它?

如果我们嵌入Excel桌面或Excel Online,怎么能找到?

1 个答案:

答案 0 :(得分:1)

你的清单中似乎有拼写错误,应该阅读

<Method Name="Document.getFileAsync" />

而不是

<Method Name="Doument.getFileAsync" />

在任何情况下,我都建议您查看Worksheet.GetUsedRange,这样您就可以检索包含工作表所有数据的范围,如下例所示:

var ctx = new Excel.RequestContext();
var sheetUsedRange = ctx.workbook.worksheets.getActiveWorksheet().getUsedRange();
sheetUsedRange.load('values');
ctx.sync().then(function() {
    console.log(sheetUsedRange.values);
});

现在,要回答有关如何了解您是否已在线嵌入Excel桌面或Excel的问题,我建议您查看Michael Zlatkovsky's answer on that matter

Gabriel Royer

Office可扩展性团队的开发人员,MSFT