不使用工具条上的打印按钮,用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