Excel Services 错误代码

根据在 Excel Services 中出现的错误,Excel Services 在 SOAP 异常中生成错误和错误消息。下表列出了调用 Excel Web Services 方法引发 SOAP 异常时容易出现的错误。

可使用 SoapException 类的 SubCode 属性捕获错误代码。有关使用 SubCode 属性捕获错误代码的详细信息,请参阅如何:使用 SubCode 属性捕获错误代码

有关 Excel Services 警报的详细信息,请参阅 Excel Services 警报

错误代码

下表列出了 Excel Web Services 警报的错误代码以及相关联的消息、解释和解决方案。

Error Code

Message

Explanation

Resolution

ApiInvalidArgument

参数值无效: {0}

向 API 调用传入的参数值无效。

0 = 参数的名称。其值无效。

为参数提供有效值。

ApiInvalidCoordinate

{1} 的 {0} 坐标无效。

0 = 坐标名称(行、列、高度、宽度)。

1 = 参数的名称,用于保留坐标结构。

RangeCoordinates 类的内容或者获取或设置调用中的行\列\高度\宽度参数无效。

为参数提供有效的坐标值。

DimensionAndArrayMismatch

所提供数组的大小与目标区域的大小和形状不符。

调用方尝试在工作簿中设置区域,但包含数组值的参数与目标区域不符。

确保所提供数组的大小与目标区域的大小相符(例如宽 2 列、高 3 行)。

DiscontiguousRangeNotSupported

请求的范围不是连续范围。Excel Services 仅支持连续范围。

调用方在尝试设置或获取单元格范围时提供的范围是不连续的。Excel Services 不支持非连续范围,仅支持连续范围。

输入连续范围(如“A1:B7”、“A1”或“MyTable[#Data]”)代替非连续范围(如“A1:B7, B12”或“A1,A3”)。

ExternalDataRefreshFailed

无法为以下连接检索外部数据:

{0}

数据源可能无法访问、未响应或拒绝访问。

尝试在工作簿中刷新数据源失败。

0 是用 \n 分隔的连接名称列表。

确保数据源可用,且对其拥有访问权限。

FileOpenAccessDenied

您没有权限在 Excel Services 上打开该文件。

由于用户对文件没有访问权限,因此调用 OpenWorkbook 方法失败。

请与管理员联系。

FileCorrupt

无法打开所选文件,因为文件已损坏、受信息权限管理保护或文件格式不受 Excel Services 支持。Excel 也许能够打开此文件。

由于文件已损坏,因此调用 OpenWorkbook 方法失败。

尝试再次打开文件,或使用 Excel 打开文件。

FileOpenNotFound

未找到所选的文件。请检查文件名的拼写并验证其位置是否正确。

由于文件不存在,因此调用 OpenWorkbook 方法失败。

确保没有对文件进行过重命名、移动或删除,文件位于受信任位置,且您对文件有访问权限。如果问题仍然存在,请与管理员联系。

FileOpenSecuritySettings

您没有权限在 Excel Services 上打开该文件。

出于多种原因,管理员的安全设置阻止打开文件,因此调用 OpenWorkbook 方法失败。例如,文件过大,即大小超过了管理员设置的限制。

请与管理员联系。

FormulaEditingNotEnabled

此版本的 Excel Services 中未启用公式编辑。

调用方尝试向工作簿中写入公式。

不要尝试写入公式,因为此版本的 Excel Services 不支持此操作。

GenericFileOpenError

打开所选文件时出错。

因未知原因,Excel Services 无法打开文件。

等待几分钟,然后尝试再次打开文件。如果问题仍然存在,请与管理员联系。

InvalidSheetName

工作簿中不存在所请求的工作表。

未找到工作表名称或工作表名称无效。

为工作表名称提供有效值。

InvalidOrTimedOutSession

此时无法完成您执行的操作,因为该会话在服务器上不再可用。可以重新加载工作簿并新建一个会话,但所做的所有更改都已丢失。

调用 sessionId 值无效或已超时。

在新会话中重新加载工作簿。

IRMedWorkbook

请求的工作簿受 IRM 的保护。Excel Services 无法加载受 IRM 保护的工作簿。

由于工作簿受信息权限管理 (IRM) 的保护,因此调用 OpenWorkbook 方法失败。

仅传入不受 IRM 保护的工作簿。

MaxSessionsPerUserExceeded

已超出每个用户的最大允许会话数。无法完成该操作。

已超出用户可以在任意给定时间打开会话的最大数量。此限制由管理员设置。

不要超过限制,或与管理员联系。

MultipleRequestsOnSession

此会话已在处理另一操作。一个会话一次只能处理一个操作。

在同一会话中发出了多个请求。一个会话一次只能处理一个请求(有一些情况例外)。

尝试再次执行操作。

NotMemberOfRole

拒绝访问。您无权执行此操作或访问此资源。

调用方没有访问服务器的权限。

请与管理员联系。

ObjectTypeNotSupported

提供的一个或多个对象类型不受 Excel Services 支持。已回滚操作。

调用方尝试向范围中写入不受支持的对象类型值。

使用受支持的对象类型之一再次尝试操作。

OperationCanceled

操作已被取消。

由于用户调用了 CancelRequest 方法,因此取消了当前正在进行的操作。

只有在要取消当前操作时再调用 CancelRequest 方法。

RangeParseError

Excel Services 无法分析该区域请求。

无法分析传入以 A1 为后缀的方法(SetCellA1、SetRangeA1、GetCellA1 和 GetRangeA1)的区域。

使用 A1 表示法输入区域引用(如“Sheet1!Range("A6:A15")”),或输入有效的结构化引用(如“[ShipCity].[#Headers]”)。

RangeRequestAreaExceeded

所请求范围的区域超出了 1,000,000 个单元格。

所请求的范围超过了 1,000,000 个单元格的限制。

若要返回包含的单元格多于 1,000,000 个的范围,请使用多个调用。

RetryError

Excel Services 无法处理该请求。

有时 Excel Services 会进入一种可用资源很少的状态。出现这种情况后,它可能会开始拒绝请求。

等待几分钟,然后尝试再次执行此操作。

SaveFailed

保存文件时发生错误。

调用 GetWorkbook 方法失败。

尝试再次保存文件。

SetRangeFailure

所请求的操作试图覆盖不可编辑的单元格的内容。

调用方尝试向含有受保护单元格的范围中写入值,例如包含公式的单元格。

Excel Services 只能编辑空单元格或包含值的单元格。

SheetRangeMismatch

作为工作表参数提供的工作表与范围参数中指定的表不同。

为 sheetName 参数传入的工作表的名称与 rangeName 参数中指定的工作表位置不符。

在范围和工作表参数中同时指定工作表时,确保两个工作表的名称相同。例如 Calculate(Sheet1, Sheet1!Range("A1"))。

SpecifiedRangeNotFound

工作表中不存在所请求的范围。

找不到传入以 A1 为后缀的方法(SetCellA1、SetRangeA1、GetCellA1 和 GetRangeA1)的范围。

确保工作表中存在指定范围。

WorkbookNotSupported

无法打开所选文件,因为它包含不受 Excel Services 支持的功能。在工作簿中检测到以下一个或多个不受支持的功能:

{0}

工作簿包含不受支持的功能。

0 = 不受支持的功能名称的列表,以 \n 分隔。

确保工作簿中不包含不受 Excel Services 支持的功能。

See Also

任务

如何:使用 SubCode 属性捕获错误代码

概念

Excel Services 警报

Excel Services 的已知问题和提示

Excel Services 最佳做法