Office 2013 JavaScript API - 在bindingObj.setFormatsAsync中索引32 768以上的行

时间:2016-05-11 12:11:37

标签: javascript office-addins excel-addins office-2013 office-js

我正在使用

bindingObj.setFormatsAsync()

但我无法标记索引高于 32768 的行。我有大量数据(甚至高达1百万)来验证,我需要通过更改背景颜色或其他格式来标记无效的单元格/行选项。

不幸的是,上面的行没有影响" smallint "。

1 个答案:

答案 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