反馈已提交

网络繁忙

普通报表导出常见问题

  • 文档创建者:Wendy123456
  • 编辑次数:27次
  • 最近更新:知识库 于 2022-09-19
  • 1. 概述

    本文介绍普通报表 导出 的一些问题及解决方案。

    其中几大通用问题排查步骤较为复杂,可参见具体的问题排查文档,如下所示:

    1)导出 Excel 文件 0kb 的问题排查,请参见:导出Excel文件0KB问题排查

    2)导出时经常出现文件内效果与预览不一致,此问题较为复杂,若本文没有具体的解决方案可以参考 导出文件内效果与预览不一致 中的排查思路进行排查。 

    3)如何实现导出文件的重命名,可参考:导出重命名

    2. 导出 Word 常见问题

    2.1 导出的格子中显示灰色的箭头

    问题描述:

    若将某张报表导出为 Word 格式,打开导出后的 Word,可以看到每个格子后都有一个灰色的箭头。如下图所示:

    1590477075458282.png

    原因分析:

    在 Word 里,灰色的箭头代表段落的标记,即一行的结尾处显示的回车符号。

    由于 FineReport 模板的界面是类似 Excel 的,且 Word 默认显示段落标记,所以导出为 Word 时,就会有段落标记。

    解决方案:

    打开 Word,点击「文件>选项>显示」,取消勾选「段落标记」,就可以去掉灰色箭头了,如下图所示:

    2020-05-20_16-32-34.png

    注1:取消勾选段落标记后,下次导出模板或者打开其他 doc 文档,都不会显示灰色箭头了。

    注2:此操作只针对当前客户端,若将导出的文件发至别的客户端,需要在对应的客户端再进行如上设置。

    2.2 导出的控件值与显示值不一致

    问题描述:

    模板中存在控件,导出的控件值与预览时的显示值不一致,如下图所示:

    原因分析:

    控件导出的是数据字典中的「实际值」,预览时显示的是数据字典中的「显示值」。如下图所示:

    2.3 导出 Word 无内容/报错

    问题描述:

    现象1:普通报表导出 Word 后无内容,但是导出 Excel 没有问题。

    现象2:普通报表导出 Word 时报错11300002:行高列宽超出页面大小设置,如下图所示:

    1589965614782280.png

    原因分析:

    模板中某个单元格的宽度超出页面设置的边界过多。

    解决方案:

    查看分页虚线前的单元格宽度是否过大,缩小对应单元格宽度即可。如下图所示:

    image.png

    2.4 文字导出后显示为图片

    问题描述:

    模板中预览时正常显示为文本内容,导出 Excel 时正常显示为文字,但导出 Word 后显示为图片。如下图所示:

    1590460577860164.png

    原因分析:

    1)文本控制

    选中单元格,点击「单元格属性>样式>对齐」,文本控制设置有四种,分别为「自动换行、单行显示、单行显示(调整字体)、多行显示(调整字体)」,除了「自动换行」,设置为其他三种导出 word 时,文字均显示为图片。

    1590460930351817.png

    2)文本方向

    选中单元格,点击「单元格属性>样式>对齐」,文本方向设置有三种,分别为「自定义角度、文字竖排(从左向右)、文字竖排(从右向左)」,除了「自定义角度」,设置为其他两种导出 word 时,文字均显示为图片。

    1590461149759204.png

    2.5 设置页眉页脚后导出结果与分页预览效果不一致

    问题描述:

    报表含有页眉或者页脚,导出后的 Word 与分页预览的结果不同,分页点不一致,内容下移或被断开显示了,如下图显示:

    image.png

    原因分析:

    Word 中页眉默认距离顶端 12.7 毫米,对应的是 FineReport 的页边距。

    两者页边距、页眉的高度逻辑不同,导致导出 Word 后,报表内容可能被页眉挤下而造成下移或断开显示。

    解决方案:

    点击菜单栏「模板>页面设置>页面」,将页边距的上边距设置为12.7mm,如下图所示:

    此时预览及导出 Word 时,页眉的顶端距离一致,从而导出结果与预览结果一致。

    2020-05-26_15-55-55.png

    2.6 模板双向自适应

    问题描述:

    1)普通报表设置 模板自适应属性 为「双向自适应」,导出时,单元格内容被截断/行高变窄,如下图所示:

    8.png

    2)模板开启双向自适应后,在 Chrome 和 Firefox 浏览器下导出的 Word 和 PDF,可能存在多余空白页。如下图所示:

    image.png

    原因分析:

    普通报表导出为任何格式,都不支持自适应。

    2.7 模板使用 HTML 显示内容并导出 Word 格式

    模板使用 HTML 显示内容,并导出 Word 格式时,需要注意以下几点:

    1)HTML 内指定的字号要与单元格字号保持一致,如下图所示:

    2)如果 HTML 内容中存在图片,建议点击「模板>模板导出属性」,使用「不固定行高导出」,如下图所示:

    2.8 模板右侧内容丢失

    问题描述:

    用户模板预览、模板导出为 PDF 格式都正常,导出为 Word 格式时右侧边框丢失,如下图所示:

    原因分析:

    模板导出为 Word 格式,表格列数最大不超过 63 ,否则超过 63 列的模板内容丢失。

    解决方案:

    调整模板所占的表格列数为 63 列以内。

    2.9 导出 Word 上半截字体不显示

    问题描述:

    用户单元格内容为 HTML 显示的一段文字,导出 Word 后,文字的上半截不显示。

    解决方案:

    HTML 中设置的字体要与「单元格属性>样式>字体」中一致。

    2.10 模板中含有条形码导出 Word 文字被遮挡

    问题描述:

    模板中设置的有条形码,导出 Word 后,条形码下一行的文字被遮挡。

    解决方案:

    条形码所在的单元格的高度设置大于等于 6mm 。

    2.11 富文本所在单元格导出word后,行高不够,文本发生截断

    原因分析:

    导出时是按照单元格的字体计算行间距的固定值,所以需要将单元格字体大小配置与富文本设置一致

    解决方案:

    富文本中设置的字号要与单元格字号设置保持一致。

    2.12 模板配置页眉页脚,导出word后多出空白页

    原因分析:

    word 中的页首和页尾无法固定高度,且无法和内容直接贴着从而产生了误差。

    解决方案:

    勾选不固定行高导出或去掉页眉页脚。

    2.13 导出word没办法修改或行高无法调整

    问题描述:

    1)导出后在word里编辑内容,行高不会自动调整。

    2)导出word没办法修改。

    3)模板导出word回车后无法自动退格。

    原因分析:

    为了达成预览与导出的效果一致,产品默认是固定行高导出的。但这个功能会固定导出后word文件内的行高,所以编辑word插入新的文本内容是不会自动调整行高的。

    解决方案:

    开启不固定行高导出。

    2.14 word 导出格式显示不完整

    问题描述:

    报表预览时显示正常在导出为 word 后出现图表/图片需要跨页显示但显示不完整,如下图所示:

    原因分析:

    模板的大小超过了 word 的纸张大小要求。

    解决方案:

    1)可以跳转word纸张大小与模板的页面设置一致,或略大于模板的页面设置。

    2)需要修改模版纸张大小,不能超出 word  对于纸张大小的要求,必须在 2.6mm~558.5mm之间。

    3)调整图表的位置,不要处于分页线处。

    4)设置图表分页时不断开,但是这样的话图表可能会被分到下一页显示,意味着上一页会出现大片空白。

    3. 导出 PDF 常见问题

    3.1 导出 PDF 时换行显示内容被截断

    问题描述:

    模板单元格使用了分页公式,包含 $$totalPage_number 和 $$page_number 参数,分别表示「总页数」和「当前页数」,如下图所示:

    1609224281125392.png

    预览时模板显示正常,导出为 Word、Excel 或 PDF 时,换行显示的内容被截断。如下图所示:

    Snag_28d81c19.png

    原因分析:

    分页需要依赖单元格的宽高,即单元格高度计算完成之后才能分页,然后分页公式才能得出计算值。所以当单元格使用了分页公式,在导出计算单元格高度时,实际获取不到分页公式的计算值,最终可能导致单元格高度计算错误,从而导致文字显示不全等异常。

    解决方案:

    导出为 Word 或 Excel 时,是以表格的形式导出的,调整表格高度即可显示,导出 PDF 则需先手动调整设计器中单元格的高度。

    3.2 同一报表导出 Word 是横向布局,导出 pdf 是纵向布局

    问题描述:

    同一报表导出 Word 是横向布局,导出 pdf 是纵向布局。

    原因分析:

    导出效果以 Office 为准,是报表横向自适应导致的纸张高度变化,这个报表的纸张高度超过了 Word 纸张设置的最大值 55.87 厘米,所以 Word 处理成默认的 27.94 厘米的高度。

    解决方案:

    报表纸张高度超出的原因是开启了横向自适应,导出时的纸张高度和浏览器的页面大小有关。取消横向自适应后,导出正常。

    3.3 TTf is not a valid TTF or OTF file

    问题描述:

    导出 PDF 出现报错:TTf is not a valid TTF or OTF file

    原因分析: 

    pdf 导出会扫描本地的字体文件, 如果字体损坏, 就会有上述报错.。

    解决方案: 提示哪个字体损坏, 就拷贝一份过去。

    3.4 导出pdf后,行高比预览时高

    问题描述:导出pdf后,行高比预览时高

    原因分析:

    由于模版字号(9)小于浏览器最小字号(12),所以浏览器默认以浏览器最小字号(12)渲染了,所以预览时看起来文本是将行塞满的,但实际导出的结果是正确的。

    解决方案:

    调整模版字体或调整浏览器最小字号

    4. 导出 Excel 常见问题

    4.1 border-spacing 导出 Excel 报错

    问题描述

    模板导出 Excel ,报错:Invalid char (:) found at index (14) in sheet name 'border-spacing:10px 20px'

    1655086278114550.png

    原因分析

    sheet 名称导出 Excel 时,需注意以下两个问题:

    • sheet 的名称长度有限制,不能多于 31 个。若多于 31 个,导出时会被自动截取,可能会导致两个 sheet 名称相同,导出报错。

    • sheet 名称支持包含英文汉字| 、()等,但是不能包含 、/*[]等。

    4.2 导出 excel 报错提示公式被删除

    问题描述:

    原样导出 excel 后,打开提示公式被删除,点击恢复后内容显示为 0 。

    1656941421103218.png

    原因分析:

    模板中存在 excel 不支持的公式,如层次坐标。

    解决方案:

    取消勾选「导出/编辑结果时,保留公式」。

    4.3 导出 Excel 后字体变小

    问题描述:

    模板内字体格式为仿宋 22 号,但是导出到 excel 后变小了为 20 号。

    1656941884486125.png

    原因分析:

    excel 导出字体大于 15 时则为 (int)fontSize * 0.95 。

    4.4 原样导出为Excel后使用WPS打开页眉页脚异常

    问题描述:

    使用 wps 打开原样导出后的 excel 发现了页眉页脚异常,如下图所示:


    原因分析:使用 WPS 打开后的显示问题。

    解决方案:更换为 Excel 打开文件即可。

    4.5 聚合报表导出excel部分边框丢失

    问题描述:聚合报表导出excel部分边框丢失,如下图所示:

    原因分析:聚合报表内横向放置了多个报表块,因为位置不对齐,所以导致有单元格的边框正好被遮挡了

    解决方案:保证横纵向的多个报表块位置保持对齐(一点偏差都不行)

    4.6 时间型控件直接导出excel会默认拼接1970-01-01

    问题描述

    前端预览看到的都是 HH:mm:ss 格式的时间,不编辑控件导出 excel 后,选中单元格可以看到值是 1970-01-01 HH:mm:ss。

    原因分析

    目前时间类型的控件导出 Excel 后,Excel 单元格保持格式正常,选中单元格后上方单元格编辑栏会显示完整的日期。(Excel的逻辑导致的,直接在Excel单元格内添加日期,然后设置该单元格格式为日期,其上方的编辑窗口也是会显示完整的日期)

    解决方案

    数据集 SQL 里将字段类型由日期型转换为字符串,时间控件导出 excel 就不会拼接上年月日。

    4.7 报表中图片预览显示正常,导出Excel后只显示一部分图片

    问题描述

    报表中图片显示正常,在数据库中字段类型为image,但是导出原样excel后,只导出了图片左上角。

    原因分析

    图片布局设置为默认,受单元格限制显示不全。

    解决方案

    图片布局修改为适应

    4.8 导出后图片被剪裁

    问题描述

    单元格使用 html 展现的 base64 编码的图片,使用的谷歌浏览器,预览时图片正常显示,但是导出 excel 图片显示不全;试了导出pdf,图片也是显示不全,只显示部分。

    原因分析

    img 标签的width.height 不支持以%为单位,导致宽高限制未生效

    解决方案

    修改html,如height=200px

    5. 其他问题

    5.1 导出的 sheet 名称无法引用单元格值或参数值

    问题描述

    导出的 sheet 名称无法引用单元格值或参数值。

    解决方案

    需要自己手动加「=」等于号,最多 30 个字符。

    4.png

    5.2 决策报表/聚合报表导出,图片有拉伸

    问题描述

    决策报表/聚合报表导出,图片发生拉伸,与预览时效果不一致。

    原因分析

    决策报表/聚合报表导出,是先把报表转成格子报表,这一步会损失一部分属性, 导致格子行高列宽切割。

    解决方案

    图表改成单元格元素,把图表放在报表块里。

    5.3 导出图表不显示自定义标签等内容

    问题描述

    新图表预览时正常,导出或打印时缺少自定义标签和自定义坐标轴等,预览效果:

    导出或打印效果:

    原因分析

    标签和坐标轴使用了自定义图片和文字,如下图所示:

    自定义是前台,导出打印都是调用的后台,导致部分内容无法显示。

     

    解决方案

    目前此种自定义标签的方式暂不支持导出或打印。

    5.4 导出重命名乱码

    问题描述

    使用 IE 浏览器进行 导出重命名 时,若重命名的名称为中文的话,会出现乱码,为什么会出现这种乱码又如何解决呢?

    如在浏览器中输入:http://localhost:8075/webroot/decision/view/report?viewlet=GettingStarted.cpt&format=pdf&__filename__=销量表

    原因分析:

    对于中文来说,浏览器编码和服务器编码不一致,导致中文部分出现了乱码。

    解决方案:

    解决方法与 URL 给参数传递中文值 类似。

    1)若想直接在浏览器中输入并导出的话,可以将浏览器换成火狐或者谷歌浏览器。

    2)若集成到项目中,可以使用 encodeURIComponent 方法,如点击某个链接调用导出重命名,此时可以使用如下方法:

    window.location="http://localhost:8075/webroot/decision/view/report?viewlet=gettingstarted.cpt&format=pdf&__filename__="+encodeURIComponent("中文名称")

    详细的内容可参考 编码转换 章节。

    5.5 导出内容在页尾截断了

    原因分析:

    Web 端预览的时候, 浏览器可以自动撑开 div, 而打印导出的时候,  是严格收到页面大小限制的, 所以会截断.
    解决方案:

    把截断的单元格设置成分页可以断开。

    附件列表


    主题: 报表专题
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭