在办公室插件中获取 office.js 中的 Sheet 名称
Getting Sheet name in office.js in office addins
我正在尝试从使用 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
而不是手动创建请求上下文。 (除其他外,这将有助于错误处理。)
- 确保您也包括错误处理(如果没有正确的错误处理逻辑,事情可能会悄无声息地失败,而没有任何迹象表明某些事情正在失败)。
- 务必在
context.sync()
(即 return context.sync();
)之前包含 return
。
这是在您的场景上下文中实现这些建议的代码片段:
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 文件。”)——我不是清楚你在这里问什么。您能否更新您的问题,提供有关您想要实现的目标的更多信息?
我正在尝试从使用 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
而不是手动创建请求上下文。 (除其他外,这将有助于错误处理。) - 确保您也包括错误处理(如果没有正确的错误处理逻辑,事情可能会悄无声息地失败,而没有任何迹象表明某些事情正在失败)。
- 务必在
context.sync()
(即return context.sync();
)之前包含return
。
这是在您的场景上下文中实现这些建议的代码片段:
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 文件。”)——我不是清楚你在这里问什么。您能否更新您的问题,提供有关您想要实现的目标的更多信息?