页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

示例效果:在电子表格的某个单元格内容过长,就只显示前几个字符,后面的用...来展现。当鼠标放到该单元格位置,鼠标提示又能显示该单元格全部内容信息。

 Image RemovedImage RemovedImage Added

Image Added

如上需求请参考如下步骤添加宏代码去实现,这是示例报表资源,点我下载。

...

类型

对象

事件

ClientSide

spreadsheetReport

onRender

宏代码

代码块
languagejscollapsetrue
function main(spreadsheetReport) {
    //debugger;
    var r = spreadsheetReport.getRowCount(); //获取电子表格总行数
    for (var i = 2; i < r - 1; i++) {
        // 设置类别
        var td = spreadsheetReport.getCell(i, 2); //根据行列号获取单元格
        truncateCellInnerText(td, 3);//设置显示的字符个数
         // 设置名称
        td = spreadsheetReport.getCell(i, 3);
        truncateCellInnerText(td, 2);
        //设置数量
        td = spreadsheetReport.getCell(i, 4);
        truncateCellInnerText(td, 1);
    }
}
 
// 如果单元格内容超出指定长度、将其截短
function truncateCellInnerText(cell, textMaxLength) {
    if (!cell) {
        return;
    }
    var len = textMaxLength || 10;
    //var txt = cell.innerHTML.replace(/<[^<>]*>/g, '');
    var txt = $(cell).text();
    if (txt.length > len) {
        //cell.innerHTML = txt.substring(0, len) + "...";
        $(cell).text(txt.substring(0, len) + "...");
        //cell.title = txt;
        $(cell).attr("title", txt);
    }
}
 
function strlen(str) {
    var len = 0;
    for (var i = 0; i < str.length; i++) {
        var c = str.charCodeAt(i);
        //单字节加1
        if ((c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f)) {
            len++;
        } else {
            len += 2;
        }
    }
    return len;
}

...