我正在使用
bindingObj.setFormatsAsync()
但我无法标记索引高于 32768 的行。我有大量数据(甚至高达1百万)来验证,我需要通过更改背景颜色或其他格式来标记无效的单元格/行选项。
不幸的是,上面的行没有影响" smallint "。
答案 0 :(得分:0)
我不知道32768的限制;我正在跟进。
您定位的是哪个版本的Office?如果它是Office 2016 / Office Online / iOS,您可以使用我们的new 2016 wave of APIs,这几乎肯定没有这个限制。它会是这样的:
Excel.run(function(ctx) {
var bindingRange = ctx.workbook.bindings.getItem("MyBinding").getRange();
bindingRange.load("values");
bindingRange.format.fill.clear();
return ctx.sync()
.then(function() {
for (var i = 0; i < bindingRange.values.length; i++) {
if (bindingRange.values[i][0] < 10) {
bindingRange.getRow(i).format.fill.color = "red";
}
}
})
.then(ctx.sync);
});
根据您正在格式化的行数(实质上是您正在制作的getRow()调用次数),您可能遇到减速的可能性很小,如果它在数千行中。如果你这样做,请告诉我,我应该能够为你解决这个问题。
~Michael Zlatkovsky,Office Extensibility团队的开发人员,MSFT