zoukankan      html  css  js  c++  java
  • 如何轻松搞定报表中的大段文本?

    现在报表工具被广泛应用在各行业中实现 web 端的数据展现,其中有很多行业都会涉及文档的数据展现形式,大多文档中都会存在大段的文字,比较常见的如保险公司的保单,医疗行业里的药检证明等。而在报表中数据展现的基本单位是单元格,如果一个字段的内容是大段文本,内容非常多,要如何换行显示并且根据内容扩大格子高度?当内容多到一页放不下的时候,要如何设置才能自动将没显示完的内容分到下一页显示呢?

    下面我会对常见文档报表中出现的大文本需求实现具体说明下。

    内容超过格子宽度自动换行显示

    报表单元格的尺寸调整方式默认为按设计尺寸不变,当内容很多,因为格子大小固定,内容只能显示出格子那么宽的内容。

    为了看的效果更明显些,我给 A1 设置了边框,下面是预览的效果。

    设置 A1 格子自动换行,它的寸调整方式会自动变成为按单元格内容扩大,这样设置后,文本内容就会分在多行显示。

    预览效果如下:

    内容超过一页截取部分显示

    设置单元格的扩展方式为按单元格内容扩大,自动换行的话,当文本比较多,多到一页没显示完的时候,默认会在内容最后显示“文本太长,超出部分未显示……”。

    除了截图中这种自动的截取方式外,也可以通过润乾的字符串截取函数进行截取,配合提示功能,实现格子中展现部分内容,鼠标指向展现全部内容的效果。

    大文本内容分页显示

    如果想余下的内容可以分在下一页中显示需要做如下设置:

    (1)可以在当前行下增加一行;

    (2)并将新增的行和原来大文本所在行进行合并单元格设置;

    (3)并将合并行设置上单元格拆分。

    页面展现的效果,在下一页中将内容完全展现。

    调整大段文本在分页时与页脚的距离

    当大段文本分了多页,报表带有页脚,对于正文中的大文本和页脚的距离如果出现较大的情况,可以通过下面的两种方法控制:

    (1)增加多行进行合并,设置单元格拆分;

    当内容一定的时候,通过增加多行进行合并,如下面的报表,增加行合并,然后预览,最后调整完报表后增加了差不多有一百行。

    (2)根据内容多少动态扩展单元格大小。

    根据字符个数大致算出展现大文本需要的行数,在大文本单元格后,用 to(1,len( 大文本所在单元格)/ 每行最多的字符个数 ),然后动态扩展相应数量的行,拉伸大文本所在单元格的行高,辅助列宽度为 0。

    需要注意的是内容所在格子高度要合适,如上图中 A236 单元格的高要合适,因为当内容越多,行数就越多,由于行高需要是整数像素,那乘起来,误差也就越大。

    以上介绍了常见报表中带有大文本报表的效果和设置方法,如果你也遇到了这种大文本的问题,可以参考看下,希望有助于你更轻松搞定报表中的大文本,如果上面没有讲到你所遇到的大文本需求或问题,欢迎下面留言,我再补充。

  • 相关阅读:
    HDU 3401 Trade 【DP+单调队列优化】
    POJ 3017 Cut the Sequence 【DP+单调队列优化+平衡树】
    CodeForces 342D Xenia and Dominoes 【DP+容斥】
    HDU 4348 To the moon 【主席树+区间修改】
    [ 转载 ]hashCode方法的相关用法
    [ 转载 ]hashCode及HashMap中的hash()函数
    [ 原创 ] Map之HashMap的使用方法
    [ 转载 ] vue.js面试题一
    [ 转载 ] Java基础二
    [ 转载 ] Java基础
  • 原文地址:https://www.cnblogs.com/IBelieve002/p/12335440.html
Copyright © 2011-2022 走看看