我们为Office Excel女士创建了一个新的加载项。它从我们的API请求数据,并将数据加载到Excel工作表上的表格中。 它不适用于Mac上的Office。我正在16.26版中进行测试。当我们尝试获得Windows商店的批准时,它失败了,但是它已经通过了所有其他平台,包括Safari中的Excel Online。
我已将问题缩小为在完成deleteAllDataValuesAsync之后无法执行addRowsAsync。 完成deleteAllDataValuesAsync之后,就像我不再可以到达表一样。如果我注释掉deleteAllDataValuesAsync,则表中会加载数据。当然,这只是第一次可以正常工作。 在deleteAllDataValuesAsync之后,我什至无法再在回调中访问“ this”,我可以解决该问题,但是它仍然无法加载表。
this.dataBinding.deleteAllDataValuesAsync({},() =>
{
this.addDataToTable(data, curveDefinitions, filteredArray, dateFormat, userNumberFormat);
});
addDataToTable(data, curveDefinitions, filteredArray, dateFormat, userNumberFormat)
{
var firstRowToTransport = 0;
var firstChunck = true;
Office.context.document.bindings.getByIdAsync(
this.dataBinding.id,
asyncResult =>
{
this.dataBinding = asyncResult.value;
this.transportChunkwiseToExcel(
data, curveDefinitions, filteredArray, firstRowToTransport, firstChunck);
}
);
}
即使使用野生动物园进行调试,我也没有错误消息
答案 0 :(得分:0)
这听起来像是一个愚蠢的答案,但是在firstChunk之后可能会是多余的逗号吗?
this.dataBinding.deleteAllDataValuesAsync({},() =>
{
this.addDataToTable(data, curveDefinitions, filteredArray, dateFormat, userNumberFormat);
});
addDataToTable(data, curveDefinitions, filteredArray, dateFormat, userNumberFormat)
{
var firstRowToTransport = 0;
var firstChunck = true;
Office.context.document.bindings.getByIdAsync(
this.dataBinding.id,
asyncResult =>
{
this.dataBinding = asyncResult.value;
this.transportChunkwiseToExcel(
data, curveDefinitions, filteredArray, firstRowToTransport, firstChunck);
}
);
}