zoukankan      html  css  js  c++  java
  • 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;
    }

    }

  • 相关阅读:
    EventBus (四) Sticky事件
    EventBus (三) 源码解析 带你深入理解EventBus
    EventBus (二) 使用详解——EventBus使用进阶
    EventBus (一) 使用详解——初步使用EventBus
    Android布局优化之ViewStub、include、merge使用与源码分析
    Android API 中文(14) —— ViewStub
    ViewStub用法
    FaceBook推出的Android图片加载库-Fresco
    WinForm打印之页边距
    带参数的多线程的方式
  • 原文地址:https://www.cnblogs.com/rain-tl/p/4883935.html
Copyright © 2011-2022 走看看