由于 Excel 桌面中缺少 Document.getFileAsync,认证失败
Certification Failure because of missing Document.getFileAsync in Excel Desktop
我们有一个 Excel 365 加载项,它使用 Document.getFileAsync(因为这是访问完整电子表格的唯一方式,无需用户 select ).
此 API 在桌面 Excel 中不可用(2013 年和 2016 年都不可用)。
我们应该如何处理 MS 关于 Office Store 认证的投诉,该应用程序不是 运行 桌面 Excel?
是否足够包含
<Requirements>
<Sets>
<Set Name="File" />
</Sets>
<Methods>
<Method Name="Document.getFileAsync" />
</Methods>
</Requirements>
在清单中?
测试表明 Excel 忽略了这个选项(至少当清单来自本地文件夹时)。
或者我们是否应该实施第二条代码路径(具有不同的 UI),要求用户 select 完整的电子表格,以便我们可以通过 getDataAsync 将其导出到桌面Excel?
如果我们嵌入 Excel 桌面或 Excel 在线,如何找出?
您的清单中似乎有错字,应该是
<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 在线版的问题,我建议您查看 .
加布里埃尔·罗耶
Office 可扩展性团队的开发人员,MSFT
我们有一个 Excel 365 加载项,它使用 Document.getFileAsync(因为这是访问完整电子表格的唯一方式,无需用户 select ).
此 API 在桌面 Excel 中不可用(2013 年和 2016 年都不可用)。
我们应该如何处理 MS 关于 Office Store 认证的投诉,该应用程序不是 运行 桌面 Excel?
是否足够包含
<Requirements>
<Sets>
<Set Name="File" />
</Sets>
<Methods>
<Method Name="Document.getFileAsync" />
</Methods>
</Requirements>
在清单中?
测试表明 Excel 忽略了这个选项(至少当清单来自本地文件夹时)。
或者我们是否应该实施第二条代码路径(具有不同的 UI),要求用户 select 完整的电子表格,以便我们可以通过 getDataAsync 将其导出到桌面Excel?
如果我们嵌入 Excel 桌面或 Excel 在线,如何找出?
您的清单中似乎有错字,应该是
<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 在线版的问题,我建议您查看
加布里埃尔·罗耶
Office 可扩展性团队的开发人员,MSFT