发布时间 : 2021-08-20 09:24:15.970|阅读 124 次
概述:此示例演示如何复制相同的组件StiPage,StiHeader并且不同的报表之间等。例如,让我们使用两个报表 OriginalReport 和 CustomReport。
Stimulsoft Ultimate是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。
Stimulsoft Reports不仅拥有强大的报表导出系统,而且还支持多种报表导出格式,拥有简单且强大的报表引擎。Stimulsoft Reports基本原则是,用简单常规的方法创建报表,将不同的技术应用于应用程序。Stimulsoft Reports.Java是一个专为在Java应用程序中的报表进行交互和处理的报表工具。
点击下载Stimulsoft Reports.Java v2021.3.1最新版
此示例演示如何复制相同的组件StiPage,StiHeader并且不同的报表之间等。例如,让我们使用两个报表 OriginalReport 和 CustomReport。
首先,您需要从文件中反序列化报告:
... StiReport originalReport = StiSerializeManager.deserializeReport( StiResourceUtil.getStream("/com/stimulsoft/samples/OriginalReport.mrt")); StiReport customerReport = StiSerializeManager.deserializeReport( StiResourceUtil.getStream("/com/stimulsoft/samples/CustomReport.mrt")); ...
然后您可以复制组件。为此,可以使用序列化:
... StiHeaderBand originalHeader = (StiHeaderBand) originalReport.getComponents().get("HeaderBand1"); int originalIndex = originalHeader.getPage().getComponents().indexOf(originalHeader); originalHeader.getPage().getComponents().remove(originalIndex); StiHeaderBand customerHeader = (StiHeaderBand) customerReport.getComponents().get("HeaderBand1"); String originalHeaderStr = StiSerializerControler.serializedObjectAsString(customerHeader); StiHeaderBand newCustomerHeader = new StiHeaderBand(); StiDeserializerControler.deserializeFromString(originalHeaderStr, newCustomerHeader); newCustomerHeader.setPage(originalReport.getPages().get(0)); originalReport.getPages().get(0).getComponents().add(originalIndex, newCustomerHeader); newCustomerHeader.setName(StiNameCreation.createName(originalReport, "HeaderBand")); for (StiComponent component : newCustomerHeader.getComponents()) { component.setPage(originalReport.getPages().get(0)); component.setParent(newCustomerHeader); component.setName(StiNameCreation.createName(originalReport, component.getName().replaceAll("\\d*", ""))); } ...
Aspose、E-iceblue、FastReport、Stimulsoft等文档/报表图表类开发工具享超低折扣,如有需要可直接联系在线客服。