在报表中,当统计报表统计的指标非常多,在页面上展现的时候,整个报表会变得非常的长,经常会通过设置滚动条拖拽来查看整个报表,当这时用不分页导出excel后,查看excel中报表被导出到一个sheet中,那么,如果让才能满足让如此繁多的指标一个一个的导出到多个sheet中呢?

其实,仔细分析整个导出过程我们可以发现,导出excel后的报表样式与页面上的报表样式保持一致,但有的时候这种一致反而不适应某些需求,怎样才能做到页面展现和导出excel样式不同呢?这里就要用到功能强大的润乾API了。

第一步:写一个java类读取报表模版

package com.runqian.test;

import com.runqian.report4.model.ReportDefine;

import com.runqian.report4.model.engine.ExtCellSet;

import com.runqian.report4.usermodel.Context;

import com.runqian.report4.usermodel.Engine;

import com.runqian.report4.usermodel.IColCell;

import com.runqian.report4.usermodel.IReport;

import com.runqian.report4.util.ReportUtils;

import com.runqian.report4.util.ReportUtils2;

public class TestExcelSaveTo {

public static void main(String[] args) throws Throwable{

//设置授权

ExtCellSet.setLicenseFileName(“C:/Program Files/reportHome/webapps/demo/WEB-INF/classes/runqianWindowServer.lic”);

//设置报表路径

String reportFile = “C:/Program Files/reportHome/webapps/demo/reportFiles/abc.raq”;

ReportDefine rd = null;

try{

读取报表模版

rd = (ReportDefine)ReportUtils.read(reportFile);

}

catch (Exception e){

e.printStackTrace();

}

第二步:设置报表列后分页属性

//取得报表总列数

int colnum = rd.getColCount();

System.out.println(colnum);

//循环设置每列的列侯分页属性

for(int i = 0; i

IColCell colCell = rd.getColCell((short)(i + 1));

colCell.setBreakPage(true);

}

//设置报表上下文路径

Context cxt = new Context();

//加载报表引擎

Engine engine = new Engine(rd, cxt);

//计算报表

IReport ir = engine.calc();

//将报表以分页的形式导出成excel

ReportUtils.exportToExcel(“C:/Program Files/reportHome/webapps/demo/reportFiles/abc.xls”, ir, true);

}

}

通过这种办法,我们还可以用API来实现导出excel的行后分页等等,大致实现思路是一样的,用读取报表后生成的IReport对象进行导出,打印等功能,即不影响页面的展现效果,又可以满足多种的导出打印需求,简单易行.

java分页导出excel_报表中利用API来实现导出excel列后分页相关推荐

  1. Java项目中利用Freemarker模板引擎导出--生成Word文档

    应邀写的一篇文章:Java项目中利用Freemarker模板引擎导出--生成Word文档 资源下载:https://download.csdn.net/download/weixin_41367523 ...

  2. python怎么筛选excel数据_python筛选数据excel表格-如何利用python提取两个excel对比后的重复值的信息?...

    怎么用python读取excel表格的数据 import xlrd #open the .xls file xlsname="test.xls" book = xlrd.open_ ...

  3. 【已解决】WPS/OFFICE中word文件可以打印,excel打印后无响应

    问题 WPS/OFFICE中word文件可以打印,excel打印后无响应 博主用的是办公室同事共享的HP打印机,在使用过程中出现了WORD文件可以打印,但是EXCEL文件打印无反应,查看打印作业进程也 ...

  4. 报表中利用隐藏列对扩展格显示值求和

    在润乾报表中,获取报表中单元格显示值的函数是disp(),然而这个函数却无法计算扩展单元格的显示值.从而无法直接对扩展个显示值求和. 在下图中,需要计算D3单元格的显示值之和. D3值为:ds1.再订 ...

  5. java string jdk_Java.lang.String中JDK API 1.6.0摘要。

    Java.lang.String中JDK API 1.6.0摘要. String 类代表字符串.示例: String str = "abc"; 字符串是常量,它们的值在创建之后不能 ...

  6. python用pandas读取excel_Python 中利用Pandas处理复杂的Excel数据

    关于Excel数据处理,很多同学可能使用过Pyhton的pandas模块,用它可以轻松地读取和转换Excel数据.但是实际中Excel表格结构可能比较杂乱,数据会分散不同的工作表中,而且在表格中分布很 ...

  7. java sublist_java中利用List的subList方法实现对List分页(简单易学)

    /** *//** * List分页 * 实现:利用List的获取子List方法,实现对List的分页 * @author 显武 * @date 2010-1-8 16:27:31 * */ impo ...

  8. JAVA防盗链在报表中的应用实例

    今天我们来聊聊Java防盗链,多说无用,直接上应用案例. 这里所用的工具是报表软件FineReport,搭配有决策系统(一个web前端展示系统,主要用于权限控制),可以采用java防盗链的方式来实现页 ...

  9. java 线程类 通信_Java 中利用管道实现线程间的通讯

    在Java 语言中,提供了各种各样的输入输出流(stream),使我们能够很方便的对数据进行操作,其中,管道(pipe)流是一种特殊的流,用于在不同线程(threads)间直接传送数据.一个线程发送数 ...

最新文章

  1. java二个整数相减_Java-消息框显示两整数加减乘除
  2. Python的代码结构
  3. QT的QBuffer类的使用
  4. 不同dll相同Type.FullName引发的问题
  5. HDU 1000 A + B Problem
  6. kvm、qemu-kvm、ibvirt及openstack,之间的关系
  7. 软考信息系统项目管理师_项目进度管理2---软考高级之信息系统项目管理师014
  8. “深度学习已死,可微编程万岁!”LeCun老师为何又语出惊人?
  9. 初学python之路-day11
  10. LTP 语义依存分析
  11. 电子元器件自动测试系统
  12. java-net-php-python-jsp大麦公司网上拍卖商城计算机毕业设计程序
  13. 基于51单片机+LD3320语音模块+SYN6288语音合成——语音识别智能分类垃圾桶
  14. 生产排程系统_ASPROVA:工序排程软件的全球隐形冠军
  15. JS怎么获取当月最后一天
  16. 全阶滑模观测器程序_滑模观测器设计
  17. 博朗x乐高全球限量型趣宝盒首发
  18. 相关系数-excel-CORREL()
  19. Github挺好用的android图片选择框架(拍照+从相册)
  20. 2022亚太杯C题思路代码分析

热门文章

  1. 体验共享单车后对于Locman技术实现的几点思考
  2. [源码学习][知了开发]WebMagic-总体流程源码分析
  3. 操作系统安全防护技术
  4. 微信小程序之二级联动下拉列表
  5. Js函数加括号、不加括号
  6. 使用Excel打造一款个人日志系统
  7. 天平游码读数例题_使用天平游码时的读数方法
  8. 数据库插入微信表情错误
  9. 码、候选码、主码、全码和外码的区分
  10. lr背景虚化_【教程】人像后期LR+PS超详细流程+思路分析