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

Office 2013 JavaScript API-索引32'以上的行;bindingObj.setFormatsAsync中的768,javascript,office-addins,excel-addins,office-2013,office-js,Javascript,Office Addins,Excel Addins,Office 2013,Office Js,我正在使用 bindingObj.setFormatsAsync() 但我无法标记索引高于32768的行。我需要验证大量数据(甚至高达100万),我需要通过更改背景颜色或其他格式选项来标记无效的单元格/行 对上面的行没有影响,不幸的是“smallint”我不知道32768限制;我正在跟进此事 您的目标是什么版本的Office?如果是Office 2016/Office Online/iOS,您可以使用我们的,这几乎肯定不会有此限制。可能是这样的: Excel.run(function(ctx)

我正在使用

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


对上面的行没有影响,不幸的是“smallint

我不知道32768限制;我正在跟进此事

您的目标是什么版本的Office?如果是Office 2016/Office Online/iOS,您可以使用我们的,这几乎肯定不会有此限制。可能是这样的:

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);
});
Excel.run(函数(ctx){
var bindingRange=ctx.workbook.bindings.getItem(“MyBinding”).getRange();
bindingRange.load(“值”);
bindingRange.format.fill.clear();
返回ctx.sync()
.然后(函数(){
对于(var i=0;i
根据正在格式化的行数(基本上是正在进行的getRow()调用的数量),如果有数千行,则很可能会出现速度减慢的情况。如果你这样做了,让我知道,我应该能够给你一个解决办法


~Michael Zlatkovsky,微软Office扩展团队的开发人员

不幸的是,我们的目标是Office 2013,因此Excel.js不是一个选项。我知道这已经过时了,但我很好奇是否有一个预期的修复方案。我同时使用
document.setSelectedDataAsync()
Office.select().setFormatsAsync()
,如果传入行索引为32768或更大的单元格格式,“行索引值超出了允许的范围。请使用小于行数的值(0或更高)这些方法允许您建立格式并将其传入。这不是数据或数据/索引问题,因为您可以毫无问题地编写大于32768的表。您不能在上面指定行格式,即使它是您传递的唯一格式。