使用 office.js 合并 excel 个单元格
Merging excel cells using office.js
我正在尝试使用问题中所述的 Office.js API 合并一些单元格。我使用 visual studio 创建了一个新的 Web 添加项目。我保留了生成的项目,并添加了一个带有点击处理程序的按钮来合并单元格,这里是事件处理程序的代码。
function mergingCells() {
Excel.run(function (ctx) {
var sheet = ctx.workbook.worksheets.getActiveWorksheet();
var range = sheet.getRange('A1:D2');
range.merge(false);
return ctx.sync().then(function () {
showNotification('Merging done',
'Merged range is ' + range.address);
});
}).catch(errorHandler);
}
我得到的错误是:
预期结果:
您的代码在未加载 .then
中的范围地址方面存在错误。但是如果我删除 range.address
,或者在同步之前调用 range.load("address")
,代码就可以工作。
有一件事我想知道:您使用的是哪个版本的 Office?如果您使用的是 Office 2016 RTM(不是基于订阅的 Office 365),合并方法可能不可用(它只是 ExcelApi 1.2
的一部分,而不是 RTM 附带的 ExcelApi 1.1
)。
您可以在 IntelliSense 中查看 API 设置特定的 API 属于什么:
有关 Office version/flavors 的更多信息,请参阅 https://dev.office.com/docs/add-ins/develop/office-versions。
有关 Office JS 版本控制和要求集的详细信息,请参阅 https://dev.office.com/docs/add-ins/develop/office-js-versioning。
不幸的是,Office 2016 的 RTM 版本没有区分 API 不可用和其他一些错误;所以他们都以 InvalidArgument
的形式出现(但此后的版本不是)。
我正在尝试使用问题中所述的 Office.js API 合并一些单元格。我使用 visual studio 创建了一个新的 Web 添加项目。我保留了生成的项目,并添加了一个带有点击处理程序的按钮来合并单元格,这里是事件处理程序的代码。
function mergingCells() {
Excel.run(function (ctx) {
var sheet = ctx.workbook.worksheets.getActiveWorksheet();
var range = sheet.getRange('A1:D2');
range.merge(false);
return ctx.sync().then(function () {
showNotification('Merging done',
'Merged range is ' + range.address);
});
}).catch(errorHandler);
}
我得到的错误是:
预期结果:
您的代码在未加载 .then
中的范围地址方面存在错误。但是如果我删除 range.address
,或者在同步之前调用 range.load("address")
,代码就可以工作。
有一件事我想知道:您使用的是哪个版本的 Office?如果您使用的是 Office 2016 RTM(不是基于订阅的 Office 365),合并方法可能不可用(它只是 ExcelApi 1.2
的一部分,而不是 RTM 附带的 ExcelApi 1.1
)。
您可以在 IntelliSense 中查看 API 设置特定的 API 属于什么:
有关 Office version/flavors 的更多信息,请参阅 https://dev.office.com/docs/add-ins/develop/office-versions。
有关 Office JS 版本控制和要求集的详细信息,请参阅 https://dev.office.com/docs/add-ins/develop/office-js-versioning。
不幸的是,Office 2016 的 RTM 版本没有区分 API 不可用和其他一些错误;所以他们都以 InvalidArgument
的形式出现(但此后的版本不是)。