使用宏代码后的效果:
解决方案
注意 |
---|
以下宏代码只支持不分页的分组报表。 |
在电子表格中右键 编辑宏 ,新建一个服务端宏模块,宏对象及事件如下:
类型 | 对象 | 事件 |
---|---|---|
ServerSide | spreadsheetReport | onBeforeOutput |
将以下代码贴到宏代码编辑区:
代码块 |
---|
function main(spreadsheetReport) {
spreadsheetReport.printExpandedPositions();
} |
再新建一个客户端宏模块,宏对象及事件如下:
类型 | 对象 | 事件 |
---|---|---|
ClientSide | spreadsheetReport | onRender |
将以下代码贴到宏代码编辑区:
代码块 |
---|
function main(spreadsheetReport, isAjaxRefreshCallback) {
var C3list = spreadsheetReport.getExpandedPositions("C3");//超链接字段所在单元格
for(var i=0;i<C3list.length;i++ ){
if(spreadsheetReport.getCell(C3list[i])){
var href = spreadsheetReport.getCell(C3list[i]).innerText;
spreadsheetReport.getCell(C3list[i]).innerHTML = "<a href="+ href +" target='_blank'>"+ href + "</a>" ;
}
}
}
|
如需在8.5的APP中打开外部链接需将app更新为2018-12-20后的版本并添加参数:outSideResTitle='外部资源标题':
代码块 |
---|
function main(spreadsheetReport, isAjaxRefreshCallback) {
var D3list = spreadsheetReport.getExpandedPositions("D3");//超链接字段所在单元格
for(var i=0;i<D3list.length;i++ ){
if(spreadsheetReport.getCell(D3list[i])){
var href = spreadsheetReport.getCell(D3list[i]).innerText;
var text = href;
href += href.indexOf("?") > 0 ? '&' : '?';
href += "outSideResTitle=外部资源" //打开外部资源时的标题
spreadsheetReport.getCell(D3list[i]).innerHTML = "<a href="+ href +" target='_blank' >"+ text + "</a>" ;
}
}
} |
扩展
如果想实现隐藏url,只显示超链接网站的标题,点击标题实现跳转,如下图:
电子表格制作中使用两列,然后把url所在列C列隐藏后发布电子表格
宏方案:
在电子表格中右键 编辑宏 ,新建一个服务端宏模块,宏对象及事件如下:
类型 | 对象 | 事件 |
---|---|---|
ServerSide | spreadsheetReport | onBeforeOutput |
将以下代码贴到宏代码编辑区:
代码块 |
---|
function main(spreadsheetReport) {
spreadsheetReport.printExpandedPositions();
} |
再新建一个客户端宏模块,宏对象及事件如下:
类型 | 对象 | 事件 |
---|---|---|
ClientSide | spreadsheetReport | onRender |
将以下代码贴到宏代码编辑区:
代码块 |
---|
function main(spreadsheetReport, isAjaxRefreshCallback) {
var B3list = spreadsheetReport.getExpandedPositions("B3");//超链接名称所在单元格
var C3list = spreadsheetReport.getExpandedPositions("C3");//超链接字段url所在单元格
for(var i=0;i<B3list.length;i++ ){
if (spreadsheetReport.getCell(C3list[i]) && spreadsheetReport.getCell(B3list[i])) {
var href = spreadsheetReport.getCell(C3list[i]).innerText;
var title = spreadsheetReport.getCell(B3list[i]).innerText;
spreadsheetReport.getCell(B3list[i]).innerHTML = "<a href="+ href +" target='_blank'>"+ title + "</a>" ;
}
}
} |
资源下载
资源:migrate.xml
borderColor | #BBBBBB |
---|---|
bgColor | #F0F0F0 |
borderWidth | 1 |
borderStyle | solid |