我如何访问在 Word 或 Excel 中添加的 table 并使用 Office.js 遍历每一行和单元格

How can i Access the table added in Word or Excel and iterate throght each and every row and cell using Office.js

添加到文档或工作表后,是否可以遍历 table 行和列。

我正在使用下面的代码添加一个 table 我希望这段代码成功后我应该能够访问行和列应该能够在一些转换后替换单元格的值.下面是我用来创建 table 的代码。

     var tableData = new Office.TableData();
            var headers = [placeholder.columns.map(function (c) { return c.column; })];
            tableData.headers = headers
            tableData.rows = rows;
            var document = Office.context.document;

            document.setSelectedDataAsync(tableData, function (result) {
                var placeholder = Office.context.document.settings.get(results.binding.id);
                    if (officeCallSucceded(result, true)) {
                        document.bindings.addFromSelectionAsync(Office.BindingType.Table, function (result) {
                            if (officeCallSucceded(result)) {
                               //SOME  LOGIC FOR BINDING HERE TO ADD //EVENT handlers to the table just added
                            }
                        });
                    }
                }
                );
            }

是的,这是检索 Excel 中 Table 的任何单独行的代码:

Excel.run(function (ctx) { 
    // substitute 'Table1' with the table you want and '0' with your row index
    var myRow = ctx.workbook.tables.getItem('Table1').rows.getItemAt(0);
    myRow.load('values');
    return ctx.sync().then(function() {
        console.log(myRow.values);
    });
});

要替换一行中的内容:

Excel.run(function (ctx) { 
    var myNewRow = [["a", "b", "c"]];
    // substitute 'Table1' with the table you want and '0' with your row
    var row = ctx.workbook.tables.getItem('Table1').rows.getItemAt(0);
    row.values = myNewRow;
    return ctx.sync();
});

在 Word 中有一个类似的 TableRowCollection.getItem 方法,但它仍处于预览阶段:https://github.com/OfficeDev/office-js-docs/blob/WordJs_1.3_Openspec/word/resources/tablerowcollection.md#getitemindex-number