不推荐用jsp, 用servlet 比较好,我这里有流程性的,你自己看着用吧,这东西用了2年,没发现问题。
通用的导出类,支持html,Excel,PDF三种
public class ReportType ...{
public static int HTML = 1;
public static int EXCEL = 2;
public static final int PDF = 3;
public static void export(HttpServletResponse response, JasperPrint jp, int type, String filename) throws Exception ...{
JRExporter exporter = null;
if (type == HTML) ...{
exporter = new JRHtmlExporter();
exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, false);
exporter.setParameter(JRHtmlExporterParameter.BETWEEN_PAGES_HTML, "");
// exporter.setParameter(JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
} else if (type == EXCEL) ...{
exporter = new JRXlsExporter();
response.setContentType("application/vnd.ms-excel");
response.addHeader("Content-Disposition", new String(("attachment; filename=" + filename + ".xls").getBytes("GBK"), "ISO-8859-1"));
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
// exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
} else if (type == PDF) ...{
exporter = new JRPdfExporter();
response.setContentType("application/pdf");
response.addHeader("Content-Disposition", new String(("attachment; filename=" + filename + ".pdf").getBytes("GBK"), "ISO-8859-1"));
} else ...{
return;
}
exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "GBK");
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jp);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, response.getOutputStream());
exporter.exportReport();
}
}
使用方法
String jasper = "jasper/saler/salerMonthSummary.jasper"; // 你的jasper文件地址
String filename = "营销中心业务员" + from + "-" + to + "销售汇总"; // 对于excel等需要下载的文件名
// 各种参数设置好
Map map = new HashMap();
map.put("YearFrom", from.getYear());
map.put("MonthFrom", from.getMonth());
map.put("YearTo", to.getYear());
map.put("MonthTo", to.getMonth());
// 读取jasper
JasperReport jr = (JasperReport) JRLoader.loadObjectFromLocation(jasper);
// 填充数据
JasperPrint jp = JasperFillManager.fillReport(jr, map, null);
// 判断是否正常
List<JRPrintPage> pages = jp.getPages();
if (pages.size() == 0) ...{
// 没有数据
return;
}
ReportType.export(response, jp, ReportType.EXCEL, filename);
分享到:
相关推荐
(6)**导出报表**:完成设计后,保存为.jrxml文件,然后使用JasperReports引擎将其转换成所需的输出格式。 **4. 博文链接详解** 在提供的博文链接中(),作者可能分享了更具体的使用IReport制作Jasper报表的实例...
在寻找如何将报表直接转换为图像的过程中,开发者考虑了JasperReport自带的`ImageServlet`类,但发现该类只能提取jasper文件中的特定图像,而无法将整个报表输出为图像。 接着,开发者转向了`JRGraphics2DExporter`...
将编译好的.jasper 文件拷贝到 WEB 工程下,通过代码填充数据源生成最终的报表。 五、ireport 使用说明 Jaspersoft iReport Designer 5.6.0 设计器的功能很强大,它可以实现 Table 表、交叉表、子报表、多数据源等...
这样,你可以将数据库查询的结果转换为Javabean的集合,然后传递给JasperReports进行报表生成。 JasperReports库允许开发者通过XML或者Java代码定义报表布局和样式。报表模板可以包含静态文本、图像、表格、图表等...
1. Jasper报表:jasper文件是iReport的报表输出格式,它是预编译的报表模板,可以直接由JasperReports引擎解析并生成报表。这种文件通常用于部署在服务器上,由应用程序直接调用。 2. JRXML文件:jrxml是jasper报表...
Excel 文件也是一种常用的报表输出格式。 - **配置 Excel 导出**:设置 Excel 导出的相关配置。 - **生成 Excel 文件**:利用 Jasper Reports 的功能生成 Excel 文件。 #### 4. Jasper 在 WebWork 中的应用 ...
设计完成后,iReport可以将模板转换为Jasper Report可读的格式。 2. **Jasper Report**:它提供了一整套API,允许开发者在Java应用中生成和处理由iReport设计的报表。支持多种数据源,如数据库、XML、CSV等,以及...
4. **批量打印**:对于批量打印,你可以创建一个循环,对每个`JasperPrint`对象调用`JasperExportManager.exportReportToPdf()`或`JasperExportManager.exportReportToHtml()`等方法,将其转换为PDF或HTML格式。...
使用`JRBeanCollectionDataSource`类,你可以将JavaBean集合转换为JasperReport能够理解的数据源。 ```java List<StudentBean> students = ... // 初始化学生数据 JRBeanCollectionDataSource beanDataSource = new...
通过集成 Jasper,Kettle 可以在数据处理过程中添加报表生成功能,将处理后的数据转化为直观的报表。集成过程通常包括在 Kettle 环境中配置 Jasper 相关的库文件,并创建转换或工作流来调用 Jasper 报表引擎。 2. *...
3. **编译报表**:在服务器端,将.jrxml文件编译成.jasper文件,这是JasperReports引擎可以直接使用的格式。编译过程通常通过`JasperCompileManager.compileReport()`方法完成。 4. **填充数据**:使用`...
它支持多种数据源,并能将生成的报表输出为多种格式(如PDF、Excel、HTML等)。下面我们将详细解析Jasper Reports中的关键组件。 ### JRXmlLoader(xml加载器) #### 功能介绍 JRXmlLoader负责加载XML文件,并将其...
通过Java代码,我们可以灵活地将基于.jasper的报表转换为各种格式,满足不同场景的需求。在实际开发中,还需要考虑性能优化、资源管理(如数据库连接和OutputStream的关闭)以及异常处理等细节。
编译阶段,通过调用`JasperCompileManager`类的`compileReport()`方法将XML设计文件转化为Java字节码,存储在.jasper文件中。这一过程中,系统会检查报表设计的语法和一致性,并编译报表中的所有Java表达式。编译时...
例如,要打印报表,你可以调用JasperExportManager的exportReportToPdfFile方法,将报表输出为PDF文件,然后使用Java的PrinterJob API进行打印。 在提供的"TestIreport"文件中,可能包含了实现上述步骤的示例代码和...
总结来说,`struts2 + jasper report`的组合为Java Web应用提供了强大的报表生成能力,通过Struts2的控制层管理和JasperReport的报表引擎,可以方便地将后台数据转化为直观的报表展示给用户。在项目`...
- 编译报表:将`.jrxml`转换为`.jasper`文件。 - 填充数据:在运行时,通过Java代码设置数据源并填充报表。 - 导出报表:将填充后的报表导出为所需的格式,如PDF或HTML。 5. **使用示例** - 创建数据源:可以...
- 考虑到性能,可以考虑将编译后的.JASPER文件存储起来,避免每次都进行模板编译。 - HTML输出时,JasperExportManager会自动处理样式和图片资源,确保它们能正确显示。 通过以上步骤,你可以在Servlet Web应用中...
3. **编译报表**:将.jrxml文件转换为.jasper编译后的报表文件。这通常通过Java代码调用JasperCompileManager的compile方法完成,确保报表模板与数据源关联。 4. **配置Struts2**:在Struts2的配置文件struts.xml中...