`
java2000.net
  • 浏览: 658198 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

将jasper文件转化为报表输出的代码

阅读更多

不推荐用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);
分享到:
评论

相关推荐

    ireport 制作jasper报表文件

    (6)**导出报表**:完成设计后,保存为.jrxml文件,然后使用JasperReports引擎将其转换成所需的输出格式。 **4. 博文链接详解** 在提供的博文链接中(),作者可能分享了更具体的使用IReport制作Jasper报表的实例...

    使用JasperReport输出image图像

    在寻找如何将报表直接转换为图像的过程中,开发者考虑了JasperReport自带的`ImageServlet`类,但发现该类只能提取jasper文件中的特定图像,而无法将整个报表输出为图像。 接着,开发者转向了`JRGraphics2DExporter`...

    jasperreport报表开发小结.docx

    将编译好的.jasper 文件拷贝到 WEB 工程下,通过代码填充数据源生成最终的报表。 五、ireport 使用说明 Jaspersoft iReport Designer 5.6.0 设计器的功能很强大,它可以实现 Table 表、交叉表、子报表、多数据源等...

    struts2 jasper iReport 报表

    这样,你可以将数据库查询的结果转换为Javabean的集合,然后传递给JasperReports进行报表生成。 JasperReports库允许开发者通过XML或者Java代码定义报表布局和样式。报表模板可以包含静态文本、图像、表格、图表等...

    iReport报表工具

    1. Jasper报表:jasper文件是iReport的报表输出格式,它是预编译的报表模板,可以直接由JasperReports引擎解析并生成报表。这种文件通常用于部署在服务器上,由应用程序直接调用。 2. JRXML文件:jrxml是jasper报表...

    jasper+ireport化复杂为简单系列教程1

    Excel 文件也是一种常用的报表输出格式。 - **配置 Excel 导出**:设置 Excel 导出的相关配置。 - **生成 Excel 文件**:利用 Jasper Reports 的功能生成 Excel 文件。 #### 4. Jasper 在 WebWork 中的应用 ...

    Jasper_+_ireport_集成报表到Web应用,操作说明

    设计完成后,iReport可以将模板转换为Jasper Report可读的格式。 2. **Jasper Report**:它提供了一整套API,允许开发者在Java应用中生成和处理由iReport设计的报表。支持多种数据源,如数据库、XML、CSV等,以及...

    japser实现批量打印

    4. **批量打印**:对于批量打印,你可以创建一个循环,对每个`JasperPrint`对象调用`JasperExportManager.exportReportToPdf()`或`JasperExportManager.exportReportToHtml()`等方法,将其转换为PDF或HTML格式。...

    使用JavaBean构造JasperReport子报表

    使用`JRBeanCollectionDataSource`类,你可以将JavaBean集合转换为JasperReport能够理解的数据源。 ```java List&lt;StudentBean&gt; students = ... // 初始化学生数据 JRBeanCollectionDataSource beanDataSource = new...

    Data Integration Kettle 插件 Jasper

    通过集成 Jasper,Kettle 可以在数据处理过程中添加报表生成功能,将处理后的数据转化为直观的报表。集成过程通常包括在 Kettle 环境中配置 Jasper 相关的库文件,并创建转换或工作流来调用 Jasper 报表引擎。 2. *...

    ireport利用jsp导出excel&pdf;报表源代码

    3. **编译报表**:在服务器端,将.jrxml文件编译成.jasper文件,这是JasperReports引擎可以直接使用的格式。编译过程通常通过`JasperCompileManager.compileReport()`方法完成。 4. **填充数据**:使用`...

    jasper 核心API

    它支持多种数据源,并能将生成的报表输出为多种格式(如PDF、Excel、HTML等)。下面我们将详细解析Jasper Reports中的关键组件。 ### JRXmlLoader(xml加载器) #### 功能介绍 JRXmlLoader负责加载XML文件,并将其...

    java报表转换成PDF、HTML和EXCEL格式.docx

    通过Java代码,我们可以灵活地将基于.jasper的报表转换为各种格式,满足不同场景的需求。在实际开发中,还需要考虑性能优化、资源管理(如数据库连接和OutputStream的关闭)以及异常处理等细节。

    JasperReports介绍.doc Jasper report

    编译阶段,通过调用`JasperCompileManager`类的`compileReport()`方法将XML设计文件转化为Java字节码,存储在.jasper文件中。这一过程中,系统会检查报表设计的语法和一致性,并编译报表中的所有Java表达式。编译时...

    在netBeans下实现报表功能

    例如,要打印报表,你可以调用JasperExportManager的exportReportToPdfFile方法,将报表输出为PDF文件,然后使用Java的PrinterJob API进行打印。 在提供的"TestIreport"文件中,可能包含了实现上述步骤的示例代码和...

    struts2 + jasper report

    总结来说,`struts2 + jasper report`的组合为Java Web应用提供了强大的报表生成能力,通过Struts2的控制层管理和JasperReport的报表引擎,可以方便地将后台数据转化为直观的报表展示给用户。在项目`...

    JasperReports(一:基础)

    - 编译报表:将`.jrxml`转换为`.jasper`文件。 - 填充数据:在运行时,通过Java代码设置数据源并填充报表。 - 导出报表:将填充后的报表导出为所需的格式,如PDF或HTML。 5. **使用示例** - 创建数据源:可以...

    JasperReport + Servlet Web应用之:HTML显示报表内容

    - 考虑到性能,可以考虑将编译后的.JASPER文件存储起来,避免每次都进行模板编译。 - HTML输出时,JasperExportManager会自动处理样式和图片资源,确保它们能正确显示。 通过以上步骤,你可以在Servlet Web应用中...

    Struts2整合jasperReports报表

    3. **编译报表**:将.jrxml文件转换为.jasper编译后的报表文件。这通常通过Java代码调用JasperCompileManager的compile方法完成,确保报表模板与数据源关联。 4. **配置Struts2**:在Struts2的配置文件struts.xml中...

Global site tag (gtag.js) - Google Analytics