JasperReports 查看打印报表
精华
小牛编辑
150浏览
2023-03-14
1 查看JasperReports JRPrint文件
上一章:《JasperReports 填充报表》,我们已经通过JasperReports生成了.jrprint报表文件,接下来我们可以编写预览程序来预览.jrpirnt文件的效果。
package cn.xnip;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.view.JasperViewer;
public class JasperReportFill {
public static void main(String[] args) {
String filePath = "D:/jasper_report_template.jrprint";
try {
JasperViewer.viewReport(filePath,false);
} catch (JRException e) {
e.printStackTrace();
}
}
}
输出结果如下:
2 打印JasperReports的报表
我们可以使用net.sf.jasperreports.engine.JasperPrintManager 类打印由 JasperReports 库生成的文档(以其专有格式,即JasperPrint对象)。这是一个依赖 Java 2 打印 API 的外观类。我们还可以在 JasperReport 文档导出为其他格式(例如 HTML 或 PDF)后生成文档。
以下代码演示了报表的打印。让我们更新我们现有的类 JasperReportFill。我们将使用JasperPrintManager.printReport()方法。此方法采用源文件名(这里我们传递.jrprint文件,我们在上一步中使用 JasperFillManager.fillReportToFile() 方法生成该文件)作为第一个参数。第二个参数是用于显示标准打印对话框的布尔值(我们在此处将其设置为true)。
package cn.xnip;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrintManager;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.view.JasperViewer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class JasperReportFill {
public static void main(String[] args) {
String sourceFileName = "d:/jasper_report_template.jasper";
String printFileName = null;
DataBeanList DataBeanList = new DataBeanList();
ArrayList<DataBean> dataList = DataBeanList.getDataBeanList();
JRBeanCollectionDataSource beanColDataSource = new
JRBeanCollectionDataSource(dataList);
Map parameters = new HashMap();
try {
printFileName = JasperFillManager.fillReportToFile(
sourceFileName, parameters, beanColDataSource);
if(printFileName != null){
JasperPrintManager.printReport( printFileName, true);
}
} catch (JRException e) {
e.printStackTrace();
}
}
}
输出结果为: