当 Excel Services 中发生错误时,=Excel Services 将在 SOAP 异常中生成错误和错误消息。 下表显示了当 Excel Web Services 方法调用抛出 SOAP 异常时可访问的错误。
使用 SoapException 类的 SubCode 属性来捕获错误代码。 有关使用 SubCode 属性捕获错误代码的详细信息,请参阅如何:使用 SubCode 属性捕获错误代码 有关Excel Services警报的详细信息,请参阅Excel Services警报。
错误代码
下表列出了 Excel Web Services 警报的错误代码,以及关联消息、说明和解决方案。
错误代码 | 消息 | 说明 | 解决方案 |
---|---|---|---|
ApiInvalidArgument |
参数的值无效:{0} |
将参数的无效值传递到了 API 调用。 0 = 参数的名称。 它的值无效。 |
对参数使用有效值。 |
ApiInvalidCoordinate |
{1} 的 {0} 坐标无效。 |
0 = 坐标名称(行、列、高度、宽度) 1 = 参数的名称,其中包含坐标结构。 Get 或 set 调用上的 RangeCoordinates 类或 row\column\height\width 参数的内容无效。 |
对参数使用有效的坐标值。 |
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 |
此时无法完成您执行的操作,因为该会话在服务器上不再可用。 可以重新加载工作簿并新建一个会话,但所做的所有更改都已丢失。 |
call sessionId 值无效或已超时。 |
在新的会话中重新加载工作簿。 |
IRMedWorkbook |
请求的工作簿受 IRM 保护。 Excel Services 无法加载受 IRM 保护的工作簿。 |
调用 OpenWorkbook 方法失败,因为工作簿受信息权限管理 (IRM) 保护。 |
仅传递不受 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 不支持的功能。 |