jasperreport使用list输出
来源:互联网 发布:自媒体发展的数据 编辑:程序博客网 时间:2024/06/06 06:32
jasperreport中可以使用List作为数据源,使用格式如下.
List list=this.customerDao.getAllCustomer(); //得到所有客户
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
JasperPrint jasperPrint = JasperFillManager.fillReport(
reportFilePath, parameters, ds);
得填充数据后,即可输出显示到PDF,Excel,Html
到PDF:
public byte[] generatePDF(String begCustNo, String endCustNo,
String reportTitle, String reportFilePath) throws DemoException {
// TODO Auto-generated method stub
//begCustNo,endCustNo分别为查询传入的开始编号,结束编号.
jdbcCustomerDao = new JdbcCustomerDao();
Map parameters = new HashMap();
parameters.put("ReportTitle", reportTitle);//报表标题
List list = jdbcCustomerDao.getAllCustomer(begCustNo, endCustNo);
try {
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
JasperPrint jasperPrint = JasperFillManager.fillReport(
reportFilePath, parameters, ds); return JasperExportManager.exportReportToPdf(jasperPrint);
} catch (JRException e) {
throw new DemoException("Report Export Failed.");
}
}
到Html:
public byte[] generateHtml(String begCustNo, String endCustNo,
String reportTitle, String reportFilePath) throws DemoException {
jdbcCustomerDao = new JdbcCustomerDao();
Map parameters = new HashMap();
parameters.put("ReportTitle", reportTitle);
List list = jdbcCustomerDao.getAllCustomer(begCustNo, endCustNo);
System.out.println("list size is :" + list.size());
JRHtmlExporter exporter = new JRHtmlExporter();
ByteArrayOutputStream oStream = new ByteArrayOutputStream();
try {
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
JasperPrint jasperPrint = JasperFillManager.fillReport(
reportFilePath, parameters, ds);
exporter.setParameter(
JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,
Boolean.FALSE);
exporter
.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter
.setParameter(JRExporterParameter.CHARACTER_ENCODING, "GBK");
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, oStream);
exporter.exportReport();
byte[] bytes = oStream.toByteArray();
return bytes;
} catch (JRException e) {
throw new DemoException("Report Export Failed.");
}
}
到Excel:
public byte[] generateExcel(String begCustNo, String endCustNo,
String reportTitle, String reportFilePath) throws DemoException {
jdbcCustomerDao = new JdbcCustomerDao();
Map parameters = new HashMap();
parameters.put("ReportTitle", reportTitle);
List list = jdbcCustomerDao.getAllCustomer(begCustNo, endCustNo);
System.out.println("list size is :" + list.size());
JRXlsExporter exporter = new JRXlsExporter(); // Excel
ByteArrayOutputStream oStream = new ByteArrayOutputStream();
try {
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
JasperPrint jasperPrint = JasperFillManager.fillReport(
reportFilePath, parameters, ds);
exporter
.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, oStream);
exporter.setParameter(
JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,
Boolean.TRUE);
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,
Boolean.FALSE);
exporter.setParameter(
JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,
Boolean.FALSE);
exporter.exportReport();
byte[] bytes = oStream.toByteArray();
return bytes;
} catch (JRException e) {
throw new DemoException("Report Export Failed.");
}
}
jsp调用方法:
<%
String filePath=getServletContext().getRealPath("/")+"report.jasper";
CustomerServiceImpl custs=new CustomerServiceImpl();
byte[] bytes=null;
String begNo=request.getParameter("beginCustNo");
String endNo=request.getParameter("endCustNo");
String type=request.getParameter("type");
if(type.equals("Pdf")){
bytes= custs.generatePDF(begNo,endNo,"客户资料明细表",filePath);
}else if(type.equals("Excel")){
bytes=custs.generateExcel(begNo,endNo,"客户资料明细表",filePath);
}else
bytes=custs.generateHtml(begNo,endNo,"客户资料明细表",filePath);
if(bytes!=null){
if(type.equals("Pdf")){
response.setContentType("application/pdf");
}else if(type.equals("Excel")){
response.setContentType("application/vnd.ms-excel");
}else
response.setContentType("text/html");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes,0,bytes.length);
ouputStream.flush();
ouputStream.close();
}else
{
out.println("error");
}
%>
======================================
servlet 输出
throws ServletException, IOException {
Connection conn=null;
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1481;DatabaseName=pdw","sa","123456");
ServletContext servletContext=this.getServletContext();
Map parameters=new HashMap();
parameters.put("vname","裴德万");
File reportfile=new File(servletContext.getRealPath("/classes.jasper"));
System.out.println(reportfile.getPath());
byte[] bytes=JasperRunManager.runReportToPdf(reportfile.getPath(),parameters,conn);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream outputStream=response.getOutputStream();
outputStream.write(bytes,0,bytes.length);
outputStream.flush();
outputStream.close();
}catch(Exception e){
e.printStackTrace();
}
}
- jasperreport使用list输出
- jasperreport 输出
- jasperreport中可以使用List作为数据源
- jasperreport生成html,Excel,PDF报表,数据源使用List
- jasperreport生成html,Excel,PDF表格,数据源使用List
- 开发者使用JasperReport——报表输出到网页
- JasperReport| JasperReport中使用自定义字体(font)
- jasperreport制作报表(二)使用JavaBean封装成List作为数据源
- jasperReport+iReport的使用
- jasperReport+iReport的使用
- 使用jasperreport生成报表
- jasperreport的使用
- JasperReport 6 使用image
- Struts2整合JasperReport输出HTML显示问题
- JASPERReport 输出html没有线条问题
- iReport+JasperReport+JSP 输出HTML方式预览
- Jasperreport 输出pdf格式和html格式
- JasperReport
- hdu 1394 Minimum Inversion Number(未优化版)
- Debian编译升级内核(could not load /lib/modules/2.6.28/modules.dep问题)
- JavaScript 开发测试工具概览
- 【转】增加u-boot对ubi的支持
- firefox与IE对js和CSS的区别(转http://log-cd.javaeye.com/blog/548665)
- jasperreport使用list输出
- hdu 1394 Minimum Inversion Number(优化版)
- CSDN、CNBLOGS使用Windows Live Writer客户端发布日志时相关配置
- 余丰慧:谁是人民币对内贬值的受害者
- 看似简单!解读C#程序员最易犯的7大错误
- ...
- C#中对"Cross-thread operation not valid"错误的权宜之计
- [Flash/Flex] 图片显示效果:下落
- 通过JFileChooser完成文件的拷贝