jasper3
package jasper;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.omg.CORBA_2_3.portable.InputStream;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporter;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.export.JRXlsExporter;
public class JasperReportFill {
@SuppressWarnings("unchecked")
private static String dbdriver="org.gjt.mm.mysql.Driver";
private static String dburl="jdbc:mysql://localhost:3306/mldn";
private static String dbuser="root";
private static String dbpwd="admin";
public static void main(String[] args) throws Exception {
Class.forName(dbdriver);
Connection con=DriverManager.getConnection(dburl, dbuser, dbpwd);
String sourceFileName1 = "f://jaspertest/report1.jasper";
String sourceFileName2 = "f://jaspertest/report2.jasper";
String sourceFileName3 = "f://jaspertest/report3.jasper";
// String printFileName = null;
// DataBeanList DataBeanList = new DataBeanList();
//ArrayList dataList = DataBeanList.getDataBeanList();
//JRBeanCollectionDataSource beanColDataSource =
// new JRBeanCollectionDataSource(dataList);
Map parameters = new HashMap();
try {
byte[] bytes1=JasperRunManager.runReportToPdf(sourceFileName1, parameters,con);
byte[] bytes2=JasperRunManager.runReportToPdf(sourceFileName2, parameters,con);
byte[] bytes3=JasperRunManager.runReportToPdf(sourceFileName3, parameters,con);
byte[] total;
total=byteMerger(bytes1,bytes2);
byte[] result=byteMerger(bytes3,total);
System.out.println(bytes1.length);
System.out.println(bytes2.length);
System.out.println(bytes3.length);
System.out.println(total.length);
File reportFile = new File("f://demo.pdf");
OutputStream ouputStream = new FileOutputStream(reportFile);
ouputStream.write(result);
ouputStream.flush();
ouputStream.close();
} catch (JRException e) {
e.printStackTrace();
}
}
public static byte[] byteMerger(byte[] byte_1, byte[] byte_2){
byte[] byte_3 = new byte[byte_1.length+byte_2.length];
System.arraycopy(byte_1, 0, byte_3, 0, byte_1.length);
System.arraycopy(byte_2, 0, byte_3, byte_1.length, byte_2.length);
return byte_3;
}
}
jasper3的更多相关文章
随机推荐
- 一步步写STM32 OS【一】 序言
一直想写个类似uCOS的OS,近段时间考研复习之余忙里偷闲,总算有点成果了.言归正传,我觉得OS最难的部分首先便是上下文切换的问题,他和MCU的架构有关,所以对于不同的MCU,这部分需要移植.一旦这个 ...
- Set up your first C# test with NUnit or resharper
此链接为一种方式,用Nunit单元测试驱动测试代码 http://relevantcodes.com/using-nunit-to-execute-selenium-webdriver-tests/ ...
- 高并发的常见策略--大型web项目
一个运营的系统在正式上线后将会遇到各种层级的高并发请求,因此我们必须对此做出相应的策略和技术解决方案,首先我们需要认清系统的高并发由3个层面导致: 1. 传输层 大量用户对系统请求后,将会造成网络带宽 ...
- 多线程归并排序的实现 java
多线程是非常适合归并排序的,因为归并排序是分治法,所以分割后可以独立运行,最后将结果归并起来就行了.如何写一个多线程程序呢?今天无聊,总结一下啊. 首先写个普通的归并排序,以后的多线程就调用这个排序. ...
- linux驱动程序之电源管理之regulator机制流程 (1)
电源管理芯片可以为多设备供电,且这些设备电压电流有所同.为这些设备提供的稳压器代码模型即为regulator. 下面通过下面三个过程分析regulartor供电机制: 1.分析regulator结构体 ...
- bitset位图讲解
bitset可以用来处理位图问题,用位可以大大减少占用的空间内存,但是位图问题适合处理不重复的,在一定范围内的整数问题.用两个位图可以处理只出现一次问题 #include <bitset> ...
- 代码-Weka的LinearRegression类
package kit.weka; import weka.classifiers.Evaluation; import weka.classifiers.functions.LinearRegres ...
- Codeforces Round #313 (Div. 2) D.Equivalent Strings (字符串)
感觉题意不太好懂 = =# 给两个字符串 问是否等价等价的定义(满足其中一个条件):1.两个字符串相等 2.字符串均分成两个子串,子串分别等价 因为超时加了ok函数剪枝,93ms过的. #includ ...
- git 设置
系统乱码 项目中的编码统一设置为UTF-8编码. 设置系统的语言设置为 zh_UTF-8,把 export LANG=zh_CN.UTF-8 保存到~/.profile文件里. $ env|grep ...
- 玩转Android之MVVM开发模式实战,炫酷的DataBinding!
C# 很早就有了MVVM的开发模式,Android手机中的MVVM一直到去年Google的I\O大会上才推出,姗姗来迟.MVVM这中开发模式的优点自不必多说,可以实现视图和逻辑代码的解耦,而且,按照G ...