TableCollection.add抛出' InvalidArgument'工作表名称具有特殊字符时出错

时间:2016-10-19 09:54:50

标签: office365 office-js excel-addins

我们构建了一个Excel任务窗格加载项,主要用于表。我们有一些代码执行TableCollection.add(rangeAddress,true)。当' rangeAddress'中的工作表名称时,此调用将失败。包含特殊字符。

例如 -

ctx.workbook.tables.add(Sheet!A1:E4, true)

工作正常,但

ctx.workbook.tables.add(Sheet-Name!A1:E4, true)

抛出错误

{
"name": "OfficeExtension.Error",
"code": "InvalidArgument",
"message": "The argument is invalid or missing or has an incorrect format.",
"traceMessages": [],
"debugInfo": {
    "errorLocation": "TableCollection.add"
}

}

请注意,第二个示例地址具有特殊字符' - '在其工作表名称中。有没有办法支持工作表名称中的特殊字符?

1 个答案:

答案 0 :(得分:1)

问题不在于API ......本身。它也不是表格。

在Excel中,如果您创建了交叉工作表引用,并且工作表名称具有非字母数字字符(或某种类型的字符),您将看到该公式被写为='Some-Hyphenated-Sheet'!C27注意工作表名称用单引号包围。

API只是本机Excel功能的反映,因此您还需要单引号表单。那就是:

ctx.workbook.tables.add("'Sheet-Name'!A1:E4", true)