Exporter常用参数说明
net.s.jasperreports.engine.JRExporterParameter. JASPER_PRINT
这个参数是net.sf.jasperreports.engine.JasperPrint的对象,exporter在导出报表前会做检测
net.s.jasperreports.engine.JRExporterParameter. JASPER_PRINT_LIST
这个参数是包含了n个
net.sf.jasperreports.engine.JasperPrint对象的java.util.List,exporter在导出报表前会做检测
net.sf.jasperreports.engine.JRExporterParameter.INPUT_STREAM
这个参数是net.sf.jasperreports.engine.JasperPrint被序列化对象的输入流,exporter在导出报表前会做检测
net.sf.jasperreports.engine.JRExporterParameter.INPUT_URL
这个参数是包含net.sf.jasperreports.engine.JasperPrint被序列化对象的URL,exporter在导出报表前会做检测
net.sf.jasperreports.engine.JRExporterParameter.INPUT_FILE_NAME
这个参数是存储了net.sf.jasperreports.engine.JasperPrint被序列化对象的文件路径,exporter在导出报表前会做检测
注意:以上几个参数不能全部为空
net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_STRING_BUFFER
这个参数是java.lang.StringBuffer的对象,存储已经产生出的指定格式报表的内容
net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_WRITER
这个参数是java.io.Writer的对象,将指定格式报表的内容发送到一个字符流,例如Servlet的PrintWriter
net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_STREAM
这个参数是java.io.OutputStream的对象,将指定格式报表的内容发送到一个输出流,例如ServletOutputStream
net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_FILE
这个参数是java.io.FILE的对象,将指定格式报表的内容存储到文件里面
net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_FILE_NAME
这个参数是java.lang.String的对象,将指定格式报表的内容存储到文件里面
net.sf.jasperreports.engine.JRExporterParameter.CHARACTER_ENCODING
这个参数是java.lang.String的对象,指定格式报表的内容编码
net.sf.jasperreports.engine.JExcelApiExporterParameter.IS_FONT_SIZE_FIX_ENABLED
这个参数是java.lang.Boolean的对象,是否允许自动修正Excel每个栏位的大小
net.sf.jasperreports.engine.JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET
这个参数是java.lang.Boolean的对象,每一页是否用一个Sheet
net.sf.jasperreports.engine.JRXlsExporterParameter. IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS
这个参数是java.lang.Boolean的对象,是否移除行与行之间的空行
net.sf.jasperreports.engine.JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND
这个参数是java.lang.Boolean的对象,页面的背景是否为白的
net.sf.jasperreports.engine.JRXlsExporterParameter.SHEET_NAMES
这个参数是java.lang.String的对象,Sheet的名字
net.sf.jasperreports.engine.JRCsvExporterParameter.FIELD_DELIMITER
这个参数是java.lang.String的对象,栏位之间的分隔符
net.sf.jasperreports.engine.JRCsvExporterParameter.RECORD_DELIMITER
这个参数是java.lang.String的对象,栏位之间的分隔符
net.sf.jasperreports.engine.JRHtmlExporterParameter.IS_OUTPUT_IMAGES_TO_DIR
这个参数是java.lang.Boolean的对象,是否输出图片到目录
net.sf.jasperreports.engine.JRHtmlExporterParameter.IMAGES_DIR_NAME
这个参数是java.lang.String的对象,图片目录的绝对路径
net.sf.jasperreports.engine.JRHtmlExporterParameter.IMAGES_DIR
这个参数是java.io.File的对象,图片目录
net.sf.jasperreports.engine.JRHtmlExporterParameter.IMAGES_URI
这个参数是java.lang.String的对象,通过Web访问时图片的URI
JasperReport内置的常用参数说明
这些参数是放到java.util.Map,在填充报表的时候使用
REPORT_CONNECTION
这个参数是java.sql.Connection对象,在用Report Query的时候调用
REPORT_DATASOURCE
这个参数是实现了接口net.sf.jasperreports.engine.JRDataSource的对象,在填充报表的时候调用
IS_IGNORE_PAGINATION
这个参数是java.lang.Boolean对象,报表是否忽略分页
REPORT_MAX_COUNT
这个参数是java.lang.Integer对象,报表显示的最大记录数
DRAWING_SUPPLIER
这个参数是实现了接口org.jfree.chart.plot.DrawingSupplier对象,定义自己的填充色
这个参数不是原来JasperReport定义的,是后来加上的
JasperReport内置的常用变量说明
PAGE_NUMBER
当前页面的页码,即第几页
REPORT_COUNT
整个报表填充完成后,总的记录数
PAGE_COUNT
当前页面的记录数
COLUMN_COUNT
当前记录的行数,每个页面的计数会复位后重新计算。
如何实现接口JRDataSource
当调用填充报表过程的时候,负责填充的类会通过这个接口获取到相应的数据,jasperreport提供了几个实现了这个接口的类:
net.sf.jasperreports.engine.JRResultSetDataSource
这个是通过JDBC访问关系数据库得到的数据源
net.sf.jasperreports.engine.data.JRTableModelDataSource
这个是调用Java Swing tables得到的数据源
net.sf.jasperreports.engine.data.JRBeanCollectionDataSource
这个是调用collections得到的数据源
我们要定义自己的DataSource,需要实现下面两个方法:
public boolean next() throws JRException;
报表填充数据的时候,填充每一条记录之前都会调用这个方法,将指针移动到下一条数据,如果有下一条数据返回true,否则返回false。
public Object getFieldValue(JRField jrField) throws JRException;
当填充报表的每一个栏位的时候,会调用这个方法获取填充的值。JrField是报表里面定义显示栏位的对象在iReport工具里面可以定义jrField的名字类型以及description
JasperReport如何绘制图形报表
JasperReport本身是不绘制图形报表的,JasperReport是通过调用JFreeChart产生的image显示到报表的页面里,所以我们还需要再了解JFreeChart,我们将再后面的章节介绍JFreeChart。