我正在尝试从使用 VS 构建的 Office 365 插件获取 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().then 函数。如果我遗漏了什么,请解释一下。
也可以使用上述示例在现有工作簿中加载 excel 文件。通过加载文件,我的意思是可以说我从服务中收到一个 excel 文件,我需要在当前工作簿上显示该文件。就像在 excel 客户端插件中一样,我们可以在应用程序中加载一个 excel 文件
以下是一些建议:
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 文件。 ”) - 我不清楚您在这里问的是什么。您能否用有关您想要实现的目标的更多信息更新您的问题?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句