美文网首页
JAVA批量打印报表

JAVA批量打印报表

作者: 勤奋的表妹 | 来源:发表于2019-05-14 17:07 被阅读0次

不使用工具条上的打印按钮,用java怎么实现批量打印皕杰报表?

解决方案:

皕杰报表提供了批量打印的工具类ReportToolkits,ReportToolkits类参考帮助文档-开发指南-javadoc-bios.report.api.utils-ReportToolkits

实例代码如下:

public class  PrintSample {

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

                  ArrayList  list = new ArrayList();

         list.add(calcReport("E:\\BIOS  Studio\\workspace\\演示项目\\Demo\\分组报表\\5分组汇总.brt"));

         list.add(calcReport("E:\\BIOS  Studio\\workspace\\演示项目\\Demo\\分组报表\\1普通分组.brt"));         

                  ReportToolkits.batchPrint(list.toArray(new  ReportBean[list.size()]), null);

         }

         /**

          *计算报表,返回报表运算结果

          * @param brtFilePath

          */

         private static ReportBean  calcReport(String brtFilePath) throws Exception {

                  ReportManager  manager = new ReportManager(new FileInputStream(brtFilePath), null, null);

                  manager.setConnection(getCon());

                  ReportBean  reportBean = manager.calc();

                  return  reportBean;

         }

         //创建报表所需要的数据源的jdbc连接

         //因上面的报表是皕杰报表自带的实例报表,所以下面创建的jdbc连接是实例报表用到的h2

         private static Connection getCon() {

                  Connection  con=null;

                  JdbcConnectionPool  cp = JdbcConnectionPool.create(  "jdbc:h2:E:\\bijetsoft\\BIJETSOFT\\BiosPlatform4Win-V5.2-B20190428\\BIOS  Studio\\data\\biosembededdb", "sa", "");

                  try  {

                           con=cp.getConnection();

                  }  catch (SQLException e) {

                           e.printStackTrace();

                  }

                  return  con;

         }       

}

实例代码中用到的ReportManager 和ReportBean ,你可以参考帮助文档-开发指南-javadoc-bios.report.api.manager

相关文章

网友评论

      本文标题:JAVA批量打印报表

      本文链接:https://www.haomeiwen.com/subject/jyreaqtx.html