业务需求:

通过勾选不同的报表名称,然后直接执行导出excel。并且这些报表需要统一导入到一个excel的多个sheet页中,并且对某些报表可能需要增加一些类似’已审核’之类的图片(展现时并没有这些图片或者文字)

解决方案:

润乾的报表展现后导出excel都是导到单独的excel中,将多个报表导入到同一个excel里可以使用api进行导出,通过创建excel的实例来决定是否导多个sheet.增加审核之类的图片只需要通过参数来控制一个图片文件或者字段即可.

实现步骤:

首先以两个报表为例,其中一张增加一个审核的图片,并通过参数来控制是否展现.

然后在api中将此参数传递到报表中即可。

对于导入到同一个excel中,将报表名称以字符串组形式接收到,然后只要在循环计算报表时不再次实例化 ExcelReport即可,具体代码如下:

String[] ragFileNameTemp = req.getParameterValues(“raqFileName”);

  String[] ragFileName = ragFileNameTemp[0].split(“,”);

  // 构建报表引擎计算环境

  List<String> list = new ArrayList<String>();

  for (int i = 0; i < ragFileName.length; i++) {

   list.add(ragFileName[i]);

  }

ExcelReport er = new ExcelReport();//ExcelReport实例化的位置很关键,会取决于是否是一个excel

for (int num = 0; num < list.size(); num++) {

   Context cxt = new Context();

   ReportDefine rd = null;

   try {

    rd = (ReportDefine) ReportUtils.read(list.get(num));

    Engine engine = new Engine(rd, cxt); // 构造报表引擎

    IReport iReport = engine.calc(); // 运算报表

    // ReportUtils.exportToExcel(“D://aa.xls”, iReport, false);

er.export(ragFileName[num], iReport);

   } catch (Exception e) {

 

  }

最终将多张报表导入到一个excel,并且可以对导出的报表进行一些设置,例如增加图片等。

多张报表导出到一个多sheet页excel的更多相关文章

  1. EBS 多sheet页Excel动态报表开发过程

    http://zhangzhongjie.iteye.com/blog/1779891 .前言本文讲述的多Sheet页EXCEL报表开发方式和开发HTML,PDF这类报表的方法大致是一致的,唯一不同的 ...

  2. 根据模板导出Excel报表并生成多个Sheet页

    因为最近用报表导出比较多,所有就提成了一个工具类,本工具类使用的场景为  根据提供的模板来导出Excel报表 并且可根据提供的模板Sheet页进行复制 从而实现多个Sheet页的需求, 使用本工具类时 ...

  3. Dynamics CRM 报表导出EXCEL 列合并问题的解决方法

    CRM中的报表导出功能提供了多种格式,excel就是其中之一,这次遇到的问题是导出后打开excel列明合并的问题,具体如下看着相当不美观,物料名称字段占了AB两列,品牌占了CD两列等等. 该问题的源头 ...

  4. 根据模板导出Excel报表并复制模板生成多个Sheet页

    因为最近用报表导出比较多,所有就提成了一个工具类,本工具类使用的场景为  根据提供的模板来导出Excel报表 并且可根据提供的模板Sheet页进行复制 从而实现多个Sheet页的需求, 使用本工具类时 ...

  5. 数据库多张表导出到excel

    数据库多张表导出到excel public static void export() throws Exception{ //声明需要导出的数据库 String dbName = "hdcl ...

  6. JAVA将Excel中的报表导出为图片格式(一)问题背景

    如题所示,先抛出一个问题,如何使用JAVA将Excel中的报表导出为图片格式? 首先说一下这个问题的背景,也就是为什么博主会碰到这个问题 随着微信,易信之流大行其道,企业内部的办公交流.绩效考评甚至考 ...

  7. 考勤输入导入OA平台与考勤统计报表导出功能源代码

    注:以某某公司为例,每日签到时间为8点整   每日签退时间为17点30分 规则:公司签到签退时间在OA平台中可以视实际情况调整,当天有请假并通过工作流审批通过为有效,当天因公外出并通过工作流审批通过为 ...

  8. tab 页形式展现多张报表

    业务系统中,很多报表都是沿用之前 EXCEL 的报表样式,原来以 sheet 格式显示的表,客户在 web 端展现的时候也希望也有同样的格式,润乾在实现这种效果和 EXCEL 一样简单灵活,轻松将数据 ...

  9. ActiveReports 报表应用教程 (16)---报表导出

    葡萄城ActiveReports报表支持多种格式的报表导出,包括PDF.Excel.Word.RTF.HTML.Text.TIFF以及其它图片格式,用户可以将它们应用到Windows Forms.We ...

随机推荐

  1. POJ 1046

    #include<iostream> using namespace std; #define MAXN 16 #define inf 100000000 struct node { in ...

  2. postman创建mocker Server

    为了不影响前端开发的进度,一般后端都是先定数据结构,然后写个假接口让前端调用,这样前端就不必等着后端接口开发完成以后再开始了. 届时,前后端以及UI和测试就可以并行,待双方都把各自的逻辑写好了,便可以 ...

  3. Kubernetes使用GlusterFS实现数据持久化

    k8s中部署有状态应用等需要持久化数据的应用,必不可少得用存储,k8s支持很多中存储方案,我司目前使用的存储有glusterfs(分为容器化和裸机方式).nfs供应用选用,本次就简单实战下gluste ...

  4. org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security .AccessControlException: Permission denied: user=Administrator, access=WRITE, inode="hadoop": hadoop:supergroup:rwxr-xr-x

    这时windows远程调试hadoop集群出现的这里 做个记录   我用改变系统变量的方法 修正了错误 网上搜索出来大概有三种: 1.在系统的环境变量或java JVM变量里面添加HADOOP_USE ...

  5. Fiddler Web Debugger的截断功能(图文详解)

    不多说,直接上干货! Fiddler的重头好戏是截断数据包,首先需要设置截取数据包的类型,依次打开菜单“Rules->automatic breakpoints”,可以选择“before req ...

  6. ILSpy工具使用

    Reflector是.NET开发中必备的反编译工具.即使没有用在反编译领域,也常常用它来检查程序集的命名规范,命名空间是否合理,组织类型的方法是否需要改善.举例说明,它有一个可以查看程序集完整名称的功 ...

  7. Go 压测

    1. 单测 + 压测 压测 go test -bench=. -benchmem 单元测试 go test -v . 2. pprof + 火焰图(查看cpu占用,内存占用) 嵌入代码 import ...

  8. Mongodb同步数据到hive(二)

    Mongodb同步数据到hive(二) 1.            概述 上一篇文章主要介绍了mongodb-based,通过直连mongodb的方式进行数据映射来进行数据查询,但是那种方式会对线上的 ...

  9. hadoop学习笔记(七):Java HDFS API

    一.使用HDFS FileSystem详解 HDFS依赖的第三方包: hadoop 1.x版本: commons-configuration-1.6.jar commons-lang-2.4.jar ...

  10. java.sql.SQLException: Access denied for user 'root '@'localhost' (using password: YES) 最蠢

    我犯了七年前的错误,一个空格,昨天就想到的,还对比了一下密码有没有空格 问题原因1:多写空格 在datasource.properties 中的username 的值root后面多写了一个空格, jd ...