1. 概述
通过 决策报表导出插件,用户可以实现导出决策报表。本文将简单概括导出决策报表时遇到的相关问题和解决方案,并梳理出了常见问题的排查思路,方便用户再遇到类似问题减少排查时间,减小排查难度。
1.1 不支持的功能
1)不支持导出组件在「样式」处设置的背景以及边框,不支持导出隐藏的组件。
2)不支持企业微信内置浏览器打开报表进行导出。
3)导出 HTML 图片性能不佳。
4)不支持导出内边距。
5)不支持导出 body 背景。
6)不支持导出组件重叠的报表块或图表块。
7)不支持导出参数面板控件。
8)不可与同类型插件同时启用,例如:不可同时启用「决策报表导出插件」和「决策报表多标签页导出插件」。
9)不支持移动端。
1.2 排查思路
常见问题排查思路如下图所示:
2. 导出后不自适应
2.1 问题描述
预览时决策报表有自适应效果,但是导出却没有,如下图所示:
预览时:
导出后:
2.2 原因分析
预览时为前端自适应效果,由决策报表 body 的「布局方式」决定,但导出的是后端自适应效果,由「模板>表单报表块自适应属性」决定。如下图所示:
2.3 解决方案
设置「表单报表块自适应属性」即可。具体如下表所示:
表单报表块自适应属性 | URL+参数导出 | 使用 SessionID 导出 | 使用自定义控件导出 |
---|---|---|---|
默认 | 导出结果不自适应 | ||
其他 | 支持自适应 若存在隐藏报表块,导出后会预留出隐藏的报表块的位置 | 支持自适应 | 不支持自适应 |
3. 导出的参数值不正确
3.1 问题描述
含有参数的决策报表,导出的结果与选择的参数值不一致。
3.2 原因分析
含参决策报表导出有两种方式:通过URL拼接sessionID进行导出,通过控件的JS事件获取sessionID导出
两种导出方式会导致不同的导出结果,如下表所示:
场景 | URL 拼接导出参数进行导出 | URL 拼接 SessionID 进行导出 | 控件获取 SessionID 导出 |
---|---|---|---|
预览模板,不进行参数查询,直接导出 | 不支持传递参数 | ||
预览模板,进行参数查询后,导出模板 | 不支持传递参数 | 支持传递参数 | 支持传递参数 |
3.3 解决方案
含参决策报表导出前,先进行参数查询,再使用 URL 拼接 SessionID 进行导出即可。
4. 导出空白页
4.1 问题描述
决策报表导出后,出现多余的空白页,如下图所示:
4.2 原因分析
当前决策报表的导出逻辑为决策报表>将所有组件转换到聚合报表>借助聚合报表导出,在导出过程中,组件的尺寸可能发生变化,所以当决策报表的组件大小超出 body 边界,或刚好在边界上,导出时就可能会出现空白页。
4.3 解决方法
目前模板的尺寸不会因为导出格式需要而自动缩放,需要将位于 body 边界的控件长宽控制在边界内,导出时则是正常的。
5. 导出图片不显示
5.1 问题描述
数据库中存储的图片路径格式只有使用webimage公式才能显示全部图片且路径中包含空格,预览时显示正常,导出PDF时图片不显示。且无法更换图片显示公式。
5.2 解决方案
将插件更新升级 10.0.19.8 及以后版本。