jasperreport生成pdf_jasperreport 导出excel_jasperreport json(12)

电脑杂谈  发布时间:2017-02-04 10:28:36  来源:网络整理

正如以前说的一样,报表引擎仅能识别指向其内部DTD文件的的引用。你不能随便从类库的源文件中将那些DTD文件copy到别的地方,再在你的报表设计文件中文件中指向你copy的那些DTD文件。如果你想那样做的话,你将需要调整类库中某些类,包括net.sf.jasper.engine.xml.JRXmlDigester类的某些代码。如果你遇到像引擎无法找到其内部的DTD文件而导致的无法载入资源的问题,请确定你已经在使用外部DTD文件之前排除了所有可能发生的情况。遇到这样的问题是不太可能的,因为资源载入机制会随着时间不断改进。JasperReport只有两种合法的XML报表设计的DTD引用,他们是:

<!DOCTYPE jasperReport PUBLIC “-//JasperReports//DTD Report Design//EN” “”>或者

<!DOCTYPE jasperReport PUBLIC “-//JasperReports//DTD Report Design//EN” “”>

XML报表的root元素是<jasperReport>,下面是一个普通带JasperReport的样子:

<?xml version=”1.0”>

<!DOCTYPE jasperReport PUBLIC “-//JasperReports//DTD Report Design//EN” “”>

<jasperReports name=”name_of_the_report”…>

…

</jasperReports>

4.2 XML 编码

<?xml version=”1.0” encoding=”ISO-8859-1”>

4.3 报表属性

我们上面已经看到,<jasperReport>斯XML报表设计的根元素。这一节我将介绍报表设计对象的Property的细节以及这些属性所对应的XML attributes(为避免混淆,我将不提供Property和Attribute的中文而直接使用英文)。

1

Report Name

每一个报表都必须有一个名字。这个名字是相当重要的,因为类库需要它来生成文件,尤其是当编译,装填,导出报表的默认行为被使用的时候,这个名的作用更为重要。这个名字是以<jasperReport>元素的name attribute的形式提供的,并且是强制必须填写。

Column Count(列数)

JasperReport允许生成每页的列数超过一列的报表,正如下面的图片,展示了拥有两列的报表:

1

默认情况下,报表引擎生成每页一列的报表。

Print Order(打印顺序)

对于拥有超过一列的报表,为其提供列将被以什么顺序填充是很重要的。你可以使用<jasperReport>的printOrder attribute来进行设置。有如下两种情况:

n Vertical Filling:这个选项将导致列是自顶向下被填充(printOrder=”Vertical”)

n Horzontal:列将自左向右被填充(printOrder=”Horizontal”)

缺省设置将是printOrder=Vertical

Page Size(页面大小)

有两个attribute是用来提供要生成的文档大小的:pageWith,pageHeight。像所有其他显示元素位置和尺寸的attribute一样,这两个attribute是以像素为单位的。JasperReport采用Java默认的每英寸72点的设置。这意味着pageWith=”595”将大约是8.26英寸,这大概是A4纸的尺寸。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-30468-12.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...