我正在尝试从使用VS构建的office 365 addin获取SheetName。 以下是代码。
var ctx = new Excel.RequestContext();
workbook = ctx.workbook;
var Sheet = workbook.worksheets.getActiveWorksheet();
Sheet.load("name");
var name;
ctx.sync().then(function () {
name = Sheet.name;
});
但我无法进入ctx.sync()。然后功能。 请解释我是否遗漏了一些东西。
也可以使用上面的示例在现有工作簿中加载excel文件。 通过加载文件我的意思是说我从一个服务收到一个excel文件,我需要在当前的工作簿上显示。像在excel客户端插件中一样,我们可以在应用程序中加载excel文件
答案 0 :(得分:1)
以下是一些建议:
Excel.run
而不是手动创建请求上下文。 (除此之外,这将有助于处理错误。)return
之前加context.sync()
(即return context.sync();
)。以下是在您的方案的上下文中实现这些建议的代码段:
function getActiveWorksheet() {
Excel.run(function (context) {
var sheet = context.workbook.worksheets.getActiveWorksheet();
sheet.load("name");
return context.sync()
.then(function () {
console.log("The active worksheet is " + sheet.name);
});
})
.catch(function (error) {
console.log(error.debugInfo);
});
}
关于你的最后一个问题(“也可以使用以上示例在现有工作簿中加载excel文件。”) - 我不清楚你在这里问什么。您能否提供更多关于您想要实现的目标的信息来更新您的问题?