使用office js迭代Excel mac中的表是行不通的

时间:2016-10-17 08:16:52

标签: excel ms-office office-js mac-office

我正在尝试使用office js迭代Excel中的表格

以下是代码示例(与此处文档https://github.com/OfficeDev/office-js-docs/blob/master/reference/excel/tablecollection.md中的示例相同):

Excel.run(function (ctx) { 
    var tables = ctx.workbook.tables;
    tables.load('items');
    return ctx.sync().then(function() {
        console.log("tables Count: " + tables.count);
        for (var i = 0; i < tables.items.length; i++)
        {
            console.log(tables.items[i].name);
        }
    });
}).catch(function(error) {
        console.log("Error: " + error);
        if (error instanceof OfficeExtension.Error) {
            console.log("Debug info: " + JSON.stringify(error.debugInfo));
        }
});

获取表格数量。

Excel.run(function (ctx) { 
    var tables = ctx.workbook.tables;
    tables.load('count');
    return ctx.sync().then(function() {
        console.log(tables.count);
    });
}).catch(function(error) {
        console.log("Error: " + error);
        if (error instanceof OfficeExtension.Error) {
            console.log("Debug info: " + JSON.stringify(error.debugInfo));
        }
});

代码在Windows Excel 2016上正常运行,但在Mac Excel 2016上,两个代码示例都会抛出类型错误:“常规异常”,错误位置:“TableCollection.count”< /强>

1 个答案:

答案 0 :(得分:0)

我们试图重新解决这个问题,但没有得到“一般例外”。我们在“PropertyNotLoaded”的第一个示例中遇到错误,尽管在样本稍微不正确的意义上这是可以理解的,但加载语句应该是tables.load('name, count')而不是tables.load('items')。但这仍然无法解释错误。第二个样本应该可以正常工作。

您是否在现有文档上运行此操作?该文件有什么特别之处吗?如果您针对包含几个表的全新文档运行此代码,那么它会起作用吗?此外,您的Office for Mac版本号是什么版本号?