您的位置:首页 > 编程语言 > ASP

jasperreport 生成报表三种方式,复制就可用。

2015-08-09 11:33 716 查看
自己把包先导入。不知道导什么包的可以百度,

第一个生成方式 ,读xml文件

@Autowired

private static ServletContext servletContext = ContextLoader.getCurrentWebApplicationContext()

.getServletContext();

public static void main(String[] args) throws FileNotFoundException, JRException, SQLException, ClassNotFoundException {

String jrxmlFileName = "M604_pendingtransactions";

jrxmlFileName = "/WEB-INF/jrxml/" + jrxmlFileName + ".jrxml";

File file = FileUtil.getFile(jrxmlFileName, servletContext);

// File file = new File(jrxmlFileName);

Map<String,Object> parameters = new HashMap<String,Object> ();

Class.forName("com.mysql.jdbc.Driver");

Connection conn = DriverManager.getConnection("数据库地址");

JasperPrint jprint = (JasperPrint) JasperFillManager.fillReport(

JasperCompileManager.compileReport(new FileInputStream(file)),

parameters,conn);

FileOutputStream out = null;

out = new FileOutputStream(new File ("D:"+File.separatorChar+"excel.xls"));

JRXlsExporter exporter = new JRXlsExporter();

JasperReportsUtils.render(exporter, jprint, out);

System.out.println("生成成功!");

}

报表第二种方式,http请求,servlet 处理流

@RequestMapping(value = "/expReport")

public void expReport(String p, HttpServletRequest request,

HttpServletResponse response, ModelMap modelMap) throws Exception {

Map hm = RequestSupport.getParameters();

String jrxmlFileName = (String) hm.get("j");

jrxmlFileName = "/WEB-INF/*** ".jrxml";

File file = FileUtil.getFile(jrxmlFileName, servletContext);--文件上下文

String fileName = (String) hm.get("reportName");

System.out.println(file.getPath());

// Generate jasper print

JasperPrint jprint = (JasperPrint) JasperFillManager.fillReport(

JasperCompileManager.compileReport(new FileInputStream(file)),

hm, dataSource.getConnection());--数据源

JRXlsExporter exporter = new JRXlsExporter();

response.setHeader("Content-Disposition", "attachment;filename="

+ fileName + ".xls");

response.setContentType("application/xls");

response.setCharacterEncoding("UTF-8");

JasperReportsUtils.render(exporter, jprint, response.getOutputStream());

}

生成报表第三种方式 :

public static void main(String[] args) throws FileNotFoundException, JRException, SQLException, ClassNotFoundException {

String jrxmlFileName = "D:/test.jrxml";

File file = new File(jrxmlFileName);

Map<String,Object> parameters = new HashMap<String,Object> ();

Class.forName("com.mysql.jdbc.Driver");

Connection conn = DriverManager.getConnection("数据库地址");

JasperPrint jprint = (JasperPrint) JasperFillManager.fillReport(

JasperCompileManager.compileReport(new FileInputStream(file)),

parameters,conn);

File f = new File("D:/excel.xls");

OutputStream output = new FileOutputStream(f);

JRXlsExporter exporter = new JRXlsExporter();

exporter.setParameter(JRExporterParameter.JASPER_PRINT, jprint);

exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,"D:/excel.xls");

exporter.exportReport();

System.out.println("生成成功!");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: