注意 |
---|
提示:本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。 |
示例说明
我们有时候会需要在电子表格报表中根据参数值设置某一行或者某一列隐藏。可以参照如下方法进行设置。效果演示如下:
(1)未添加该宏时,报表展示如下:
(2)添加了宏,并且“示例参数”的值为“隐藏行”时,隐藏行所在的一行被隐藏,如图:
...
3、在报表宏界面新建服务端模块。在弹出的新建模块对话框中,选择对象为spreadSheetReport、事件为onBeforeOutput、并把下面宏代码复制到代码编辑区域,并作相应的修改
宏类型
类型 | 对象 | 事件 |
---|---|---|
ServerSidee | spreadsheetReport | onBeforeOutput |
宏代码
代码块 | ||||
---|---|---|---|---|
| ||||
function main(spreadsheetReport) { var sheet = spreadsheetReport.workbook.getWorksheets().get(0); //获取当前sheet,从0开始计数 var value = spreadsheetReport.getParameterValue("隐藏"); //获取参数值 if (value == "隐藏行") { sheet.cells.getRow(7).setHeight(0); //设置第八行隐藏,从0开始计数 } else { sheet.cells.getColumn(4).setWidth(0); //设置第五列隐藏,从0开始计数 } } |
...
- 删除指定列数据sheet.cells.deleteColumn(3); //从0开始计数
- spreadsheetReport.outputType判断导出类型 ,导出类型可以有:PDF、PNG、WORD、EXCEL、EXCEL2007、HTML,通过浏览器刷新他的值是refresh
资源下载
报表资源:隐藏行列migrate.xml
...
注意事项:使用该服务端宏,则隐藏行列时,导出电子表格为Excel等时,相应的行列也会被隐藏。