历史版本12 :单元格超过一定长度显示省略号(...),鼠标悬浮显示全部内容 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

在实际应用中,有的单元格可能内容较多,如何能做到内容超出一定长度显示省略号(...),当鼠标移动到单元格的时候,显示全部内容呢?

222


2. 解决方案编辑

2.1 方法一(直接用 FineReport 公式实现)

1)在A2单元格输入一段文字如:对单元格设置超过一定长度页面显示...,鼠标放上去显示全部值

222

2)在单元格形态,给单元格设置公式形态,if(len($$$)>5,left($$$,5)+'...',$$$),当单元格内容长度超过 5 位时,显示内容前 5 位加上省略号(...),当单元格内容长度小于等于 5 位时,显示全部内容:

222

3)在单元格其他属性,内容提示设置为=$$$,如下图:

222

设置完成后,即可实现效果。

2.2 方法二(JS 实现)


1)在 A2 单元格输入一段文字如:对单元格设置超过一定长度页面显示...,鼠标放上去显示全部值。

222

2)点击模板>模板web>分页预览设置,添加加载结束事件,如下图:

222

JS 代码如下:

//获取到 td 中的字符串,截取字符串
$("td[title^=cut]").each(function(){
//获取属性的值
var str = $(this).attr('title');
//定义分隔符号
var length = parseInt(str.split(":")[1]);
//判断长度
if($(this).text().length > length){
      $(this).attr('title',$(this).text());
      $(this).text($(this).text().substring(0,length)+'...');
      }else
      $(this).removeAttr('title');
      })

3)在 A2 单元格其他属性,内容提示输入:cut_+A2+:+5,cut_+A2+:+5中,A2 是单元格的位置;5 是显示的个数;冒号是英文符号,且前后需要使用+进行拼接如下图:

222

设置完成后,即可实现效果。



PS:使用第一种方式最简单,但是导出excel内容也回带"...",所以使用第二种方式(JS 实现