Excel.Range.Insesrt Office JS API для добавления ячеек в таблицу - PullRequest
1 голос
/ 31 марта 2020

Я пытаюсь добавить ячейки в существующую таблицу, используя API вставки, предоставленный офисом js. Официальный представитель Microsoft c дал пример кода для вставки в лист, который отлично работает.

Excel.run(function (context) {
    var sheet = context.workbook.worksheets.getItem("Sample");
    var range = sheet.getRange("B4:E4");

    range.insert(Excel.InsertShiftDirection.down);

    return context.sync();
}).catch(errorHandlerFunction);

Но я пытался сделать то же самое с таблицей на листе. Но это не работает.

table = ctx.workbook.tables.getItem(tableName);
let range = table.getRange();
range.insert(Excel.InsertShiftDirection.down);

Есть ли способ достичь этого?

1 Ответ

1 голос
/ 31 марта 2020

Можно использовать Excel.TableRow, пример кода:

Excel.run(function (ctx) { 
    var tables = ctx.workbook.tables;
    var values = [["Sample", "Values", "For", "New", "Row"]];
    var row = tables.getItem("Table1").rows.add(null, values);
    row.load('index');
    return ctx.sync().then(function() {
        console.log(row.index);
    });
}).catch(function(error) {
    console.log("Error: " + error);
    if (error instanceof OfficeExtension.Error) {
        console.log("Debug info: " + JSON.stringify(error.debugInfo));
    }
});

Документ можно найти по адресу https://docs.microsoft.com/en-us/javascript/api/excel/excel.tablerowcollection?view=excel-js-preview#add -индекс - значения-

...