我试图用Scala编写一个Jasper报告程序,其中的数据结构是动态创建的。数据源将是data
对象的列表(请参见下面的case类),其中每个数据对象都是字符串和int的列表。
报表中的每一行都有诸如data.strings(0)、data.strings(1)等字段。
import scala.collection.JavaConversions._
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import net.sf.jasperreports.engine._
import net.sf.jasperreports.engine.data._
case class Data (strings: Array[String], ints: Array[Int] )
val str1 = Array("String11", "String12")
val int1 = Array(11,12)
val str2 = Array("String21", "String22")
val int2 = Array(21,22)
val data1 = Data(str1, int1)
val data2 = Data(str2, int2)
val dataSource = new JRBeanArrayDataSource(Array(data1, data2));
val params = new HashMap[String,String](Map("1"->"one", "2"->"two"))
val jasperPrint = JasperFillManager.fillReport("test1.jasper", params, dataSource);
JasperExportManager.exportReportToPdfFile(jasperPrint, "test1.pdf");
有什么想法可以实现这一点吗?
这解决了问题:显式地将HashMap声明为[String,object]:
val params = new HashMap[String,Object](Map("1"->"one", "2"->"two"))
我想生成jasper报表,用于打印在固定大小的文具上。我创建了html表,并将所有的值放在其中,根据我的要求,现在我想通过Java打印,所以我现在使用了jasper报告,因为我有列,是变化的时间。根据我的要求,我在网上搜索,我得到了动态的jasper是解决方案,但由于方法添加列需要列名和传递变量,这是从setter getter方法,但我的整个列是动态的,那么我如何生成setter getter方
我有一个要求,我必须阅读CSV文件并在Jasper中准备一份报告。我能够在常规文本字段中使用CSV数据源。但是当我在详细信息或摘要部分添加一个表时,它需要创建一个新的数据集。我成功地创建了它,但是当报告运行时,它无法从CSV数据源获取数据,我得到了一个空白的报告。如果我使用数据库而不是CSV,同样的事情也会发生。Jasper中有bug吗?
我使用jasper设计器(不是iReport而是eclipse的插件)创建了一个使用excel文件作为数据源的报表。 该报表在设计器中运行良好,并且从文件中读取数据没有问题,但是在将该文件编译为并在JasperViewer中给出excel文件的路径后,jasperViewer中没有任何内容! 这是我的代码:
我们使用json数据设计了一个新的报表,使用jsonql作为查询语言,并在Jaspersoft studio(V6.6.0)中生成多个子报表级别。 我们需要一些java代码来获取生成的json数据,并在服务器上使用预编译的jasper文件创建一个报告,在服务器上运行Jasper6.6.0,然而,当我们试图用java生成PDF时,一些子报告崩溃,说它找不到要使用的数据,当我们删除这些有问题的子报告时
因为JasperReport可以将JavaBean集合作为数据源。我们可以用一个引用多个SetCollections的单个对象发送一个SetCollection吗。并使用这些引用传递给编译后的jrxml文件,每次传递不同的setCollection时,都使用对JasPerfillManager.FillReport()的多重调用。我只是想知道编译后的jrxml文件是否会用最后一次调用填充,或者是否
你好,在我解释我的问题之前,我会告诉你我想回答什么。 我正在尝试创建一个子报告,显示用户的不同收入。一个用户可以收到多次捐赠,出售了多栋房子/房产,赢得了比赛等。所有这些操作都有更多关于他们收到多少钱、缴纳的税款的详细信息,… 现在,我正在尝试在一个细节中显示用户的详细信息(姓名,姓氏,..;)。这行得通。下一个细节带将用于捐赠。我创建了一个子报表,在其中指定了此部分的布局。但是,此子报表所需的数