我们有一个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,怎么能找到?
答案 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