Office Excel JS - Изменить диапазон значений табличного объекта

1

Я работаю над надстройкой Excel с помощью API Office JS. Я испытываю проблему при обновлении значений типа привязки "диапазон", когда объект таблицы был вставлен внутри границ диапазона.

Например, у меня есть привязка к A1: C3, и таблица была вставлена в пользовательский интерфейс Excel с использованием. Insert → Table в B2: C3 с My table has headers.

Использование нижеприведенной функции для обновления необработанных значений этого диапазона, похоже, удаляет объект таблицы.

В качестве альтернативы, если диапазон привязки меньше, чем объект таблицы, т.е. привязка внутри границ объекта таблицы, таблица и форматирование остаются.

var bindingId = "123";
var newValue = [["123","123","123"], ["123","123","123"], ["123","123","123"]];

return Excel.run(function (ctx) {

    var binding = ctx.workbook.bindings.getItem(bindingId);
    var range = binding.getRange().load('values, address');

    return ctx.sync().then(function () {

        range.values = newValue;

        return ctx.sync();

    });

});
Теги:
office-js

1 ответ

1

Чтобы вернуть объект table из вашей привязки, следует использовать bindingObject.getTable() а не bindingObject.getRange().

Когда у вас есть объект table, вы можете использовать метод table.rows.add() для добавления одной или нескольких строк при сохранении существующей таблицы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню