我们已经为Ms Office Excel创建了一个新的外接程序。它从API请求数据,并将数据加载到excel工作表上的表中。它不能在Office for Mac上工作。我正在测试版本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);
}
);
}即使在使用safari进行调试时,也没有错误信息。
发布于 2019-06-12 23:08:02
这听起来像是一个愚蠢的答案,但它会不会是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);
}
);
}https://stackoverflow.com/questions/56564941
复制相似问题