...
示例效果:在电子表格的某个单元格内容过长,就只显示前几个字符,后面的用...来展现。当鼠标放到该单元格位置,鼠标提示又能显示该单元格全部内容信息。
如上需求请参考如下步骤添加宏代码去实现,这是示例报表资源,点我下载。
...
类型 | 对象 | 事件 |
ClientSide | spreadsheetReport | onRender |
宏代码
代码块 | ||||
---|---|---|---|---|
| ||||
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; } |
...