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 支持的功能。 |