局限性和限制

Microsoft Office 限制

常规

Office.js API 行为不完全支持多个工作簿。例如,在工作簿之间切换可能遇到某些意外事件。此外,如果使用名称包含空格或特殊字符的工作表,某些函数可能无法按预期工作。

建议您从每月企业频道下载 Microsoft Office 更新。如果从半年企业频道更新,则无法下载最新版本,且无权访问 Excel Integration 的最新功能。

特别报告

若要让所有特别功能正常工作,必须使用支持 Office.js API 1.12 的 Office 版本。旧版本的 Office 有以下限制:

  • 只有在选择了 INFOR.READ.SLICE 函数的左上方单元格(spillParent 单元格)并且动态数组可用的情况下,才可编辑特别报告。
  • 如果动态数组不可用,则仅会显示单个值。报告中单元格没有散布值。
  • 展开和折叠功能在工作表中不起作用。

VBA 限制

如果在 Excel VBA 中使用 Office Integration 自定义函数,请注意自定义函数是异步函数并在 Excel 外部计算。因此,会出现一些时间差异。

一些 Excel VBA 函数仅在 Excel-native 函数中使用。例如:Application.Evaluate

此列表包含用于 VBA 中的自定义公式的建议:

  • 编程时,确保自定义功能已完成计算。
  • 使用 Application.CalculateFullRebuild 函数而非 Application.Calculate 函数。Application.CalculateFullRebuild 标记所有包含未计算的公式的单元格,并触发重新生成和重新计算所有依存关系。计算流程可能超出预期时间,因为它重新生成依存关系,然后计算所有工作簿。
  • 将自定义公式插入 Excel 工作簿中的 =IF 语句,然后引用包含 TRUE 或 FALSE 函数的单元格。这是使用 Application.CalculateRebuild 函数的替代方法,使您能够选择在特定时间计算的自定义函数。这会导致更快的计算流程。

Microsoft Office Online

以下限制适用于在线使用 Office Integration 加载项时:

  • 仅支持 Excel Online。
  • 只有清除浏览器设置中隐私选项卡上的阻止跨网站跟踪选项,Mac 用户才能使用 Safari 浏览器。
  • 只支持有少量自定义函数的报告。示例请参见 https://github.com/OfficeDev/office-js/issues/2786
  • 响应速度慢,尤其是计算和计算通知。为提高性能,我们建议您使用手动计算代替自动计算。
  • 如果未设置嵌入 URL 或设置错误,单击显示任务窗格后会显示错误。要解决此问题,必须设置正确的 URL,清除 Excel online 页面的 Cookie,然后重新加载。然后登录加载项。
  • 如果为所选单元格单击引用单元格,然后单击不同的单元格,单元格引用不会自动更改。
  • 在加载项用户界面中,具有获取支持重新加载等选项的右侧菜单不可用。
  • 由于 Excel online 资源限制和性能优化,将大型特别报告转换为基于单元格的报告可能会导致错误。例如,请求的有效载荷大小超出限制。请参见 https://learn.microsoft.com/en-us/office/dev/add-ins/concepts/resource-limits-and-performance-optimization#excel-add-ins
  • 如果从共享文件夹添加该加载项,则每次要联机使用此加载项时都必须手动上传清单文件。
  • 过期的 Excel online 会话可能会导致加载项出现致命错误,或使您无法注销。如果出现致命错误,请重新加载浏览器或再次上传加载项。
  • 当 Excel 缩放未设置为 100% 时,无法在特别报告中执行展开和折叠操作。
  • 在功能区中,Excel online 不会显示全部工具提示,也不会对全部单击事件做出反应。

Office Integration 限制

常规

请勿使用安装了其他 Office 加载项的 Excel Integration。其他 Office 加载项可能导致意外问题。

在报告中,只有打开任务窗格时才能可见计算进度。

Excel 功能区不支持本地化。

只有当焦点放置在报告单元格上时,键盘快捷键才会起作用。

特别报告

以下限制适用:

  • 如果您更新特别报告的结构,但没有单击更新报告,那么如果您剪切并粘贴该报告,您的更改将会丢失。
  • 基于单元格的特别报告不能包含超过 150 万个单元格。如果达到此数量,则无法将报告从切片转换为基于单元格。您必须调整报告才能进行转换。
  • 将报告从切片转换为基于单元格后,切片公式将被删除。您无法撤消此操作。
    注意事项
    如果将显示 #SPILL 错误的特别切片报告转换为基于单元格的报告,则会覆盖该报告的内容。
  • 元素和动态选择不适用于 Microsoft Analysis Services。
  • 仅 MS365 Office 支持实体。

Self-Service 报告定义中的 Application Studio 算式

包含从 Application Studio 中导入的算式的Self-Service 报告定义当前在 Excel Integration 中不受支持。

自定义功能

INFOR.WRITE.VALUE 不支持 DefaultMember 之外的多维表达式 (MDX)。

如果禁用了写回且修改了 INFOR.WRITE.VALUE 函数,就会出现一个 #VALUE!错误。

INFOR.GET.AXISINFOR.READ.VALUES 函数不支持实体引用。

写回

不支持以下功能和操作:

  • 对写回使用多单元格复制或粘贴操作。
  • 使用 INFOR.GET.VALUE 函数将值拖至包含公式的单元格。
  • 在多个不连续的单元格中写回值。
  • 散布撤销。
  • 写回使用 MDX 表达式,而不是 DefaultMember 之外的元素唯一名称。
注意

特别是在使用较大报告时,可能会出现小延迟。若要避免错误,请相应地调整数据输入速度。

WritebackBehavior 自定义设置中用于启用或禁用写回模式的 JSON 字符串限制为 255 个字符。您可以使用 JSON Minifier 压缩包含更多字符的 JSON 字符串。

请参见 https://codebeautify.org/jsonminifier

上下文视角

在定义报告数据源时,以下限制适用于上下文视角:

  • 无法在和筛选驱动程序维度字段中指定唯一名称。
  • 在报告或公式之间切换时,所选的域和筛选驱动程序将从选择中清除。

计算限制

一个查询不能超过 200 万个值。

例如,一个查询可以是特别报告、基于单元格的报告中的全部公式,也可以是元素树中的项目。一个值可以是单元格或成员属性等。例如,如果一个公式为单个元素查询五个特性,它就被计数为五个值。

元素树中可见的元素最大数量取决于特定层次结构中定义的属性数量。通常情况下,最大数可以达到数万。层次结构中的属性数量越多,元素树中显示的元素最大数量就越少。

每次达到查询限制时您都会收到通知,例如:

  • 如果您展开特别报告并达到限制,则系统会阻止报告展开并显示通知。
  • 如果公式由于限制而计算失败,则会显示 #VALUE!错误。在 Office 365 中,您可以在显示 #VALUE! 错误的单元格上暂停以查看错误明细。

所有达到查询限制的情况都会记录在应用程序日志(用户日志)中。

为了避免达到查询限制,我们建议您创建多个包含少量数据的工作簿,而不是创建一个包含大量数据的工作簿。对于特别报告,我们建议您通过级别或静态选择与动态选择相结合来限制选择,例如 2016 年及 2016 年的子级。