皕杰技术社区

 找回密码
 立即加入

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 838|回复: 3

皕杰报表导出时隐藏某一行

[复制链接]
发表于 2019-9-11 17:16:41 | 显示全部楼层 |阅读模式
需求:
皕杰报表导出excel时怎么隐藏某一行,web端展示的时候这一行显示不隐藏?
解决方案:
1.设计一个实例报表tbf.brt

2.在这个示例报表中新增一个参数type、整数类型;然后 点击行数3,属性是否可见,写判断表达式if(@type=1,false,true),意思当type参数值是1的时候false,然后总计这一行不可见;type参数值不等于1时,总计这一行可见。
3.编写自定义工具条按钮
根据皕杰报表帮助文档-开发指南-javadoc中自定义工具条按钮工厂bios.report.api.factory.ToolbarButtonFactory重载excel导出按钮。
示例代码:
  1. package bios.report.dev.examples.factory;
  2. import bios.report.api.factory.ToolbarButtonFactory;
  3. import bios.report.api.utils.ReportToolkits;

  4. /**
  5. * 自定义工具条按钮工厂示例
  6. * @author Bijetsoft.com
  7. */
  8. public class MyToolbarBtnFactory extends ToolbarButtonFactory {
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即加入

x
 楼主| 发表于 2019-9-11 17:19:01 | 显示全部楼层
  1. /**
  2.          * 重载父类方法,替换导出Excel按钮
  3.          */
  4.         @Override
  5.         public String replaceExportExcelButton1() {
  6.                 if (reportMark.getRpt().equals("tbf.brt")) { //如果报表名为tbf.brt,那么使用自定义导出excel按钮
  7.                         String rpt = reportMark.getRpt();
  8.                         String params = ReportToolkits.encodeUrl(reportMark.getParams());
  9.                         params+=";type=1;";
  10.                         String vars = ReportToolkits.encodeUrl(reportMark.getVars());
  11.                         StringBuffer str = new StringBuffer();
  12.                         str.append("<td>");
  13.                         str.append("<table cellspacing='0' cellpadding='0' title='导出整页EXCEL' onclick=");
  14.                        
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-11 17:19:49 | 显示全部楼层
  1. str.append("openEmitter("").append(request.getContextPath()).append("/ReportEmitter?rpt=").append(rpt).append("&emitter=toxls¶ms=").append(params).append("&vars=").append(vars).append("")");
  2.                         str.append("><tr>");
  3.                         str.append("<td class='button-img btn-excel'></td>"); //按钮图片
  4.                         str.append("<td class='button-text' id='be_0'>整页</td>"); //按钮文字,id设置为be_n,可支持工具条长度不足时,自动隐藏文字
  5.                         str.append("</tr></table>");
  6.                         str.append("</td>");
  7.                         return str.toString();
  8.                 }
  9.                 return null;
  10.         }
  11. }
复制代码


4.将自定义工具条按钮类MyToolbarBtnFactory打成jar包 ,然后复制到web报表环境的WEB-INF/lib下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-11 17:21:23 | 显示全部楼层
5.打开web报表环境的WEB-INF/resources/report_config.xml,修改<toolbarButtonFactory></toolbarButtonFactory>节点值为
  1. <toolbarButtonFactory>bios.report.dev.examples.factory.MyToolbarBtnFactory </toolbarButtonFactory>
复制代码

6.然后启动web应用,并访问实例报表tbf.brt;

点击这个报表的导出excel按钮,导出excel


7.如上图所示:总计这一行导出excel后不可见。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即加入

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

QQ|小黑屋|手机版|皕杰软件 ( 京ICP备14050931号 )

GMT+8, 2024-12-27 09:17 , Processed in 1.149150 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表