Excel.Range.Insesrt Office JS api将单元格添加到表中

问题描述 投票:0回答:1

我正在尝试使用office js提供的insert API将单元格添加到现有表中。 Microsoft官方文档提供了示例代码,可将其插入工作表中。

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);

有没有办法做到这一点?

javascript excel office-js office-addins
1个回答
1
投票

您可以使用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-index--values-找到该文档

© www.soinside.com 2019 - 2024. All rights reserved.