我正在尝试使用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”< /强>
答案 0 :(得分:0)
我们试图重新解决这个问题,但没有得到“一般例外”。我们在“PropertyNotLoaded”的第一个示例中遇到错误,尽管在样本稍微不正确的意义上这是可以理解的,但加载语句应该是tables.load('name, count')
而不是tables.load('items')
。但这仍然无法解释错误。第二个样本应该可以正常工作。
您是否在现有文档上运行此操作?该文件有什么特别之处吗?如果您针对包含几个表的全新文档运行此代码,那么它会起作用吗?此外,您的Office for Mac版本号是什么版本号?