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("生成成功!");
}
}
第一个生成方式 ,读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("生成成功!");
}
}
相关文章推荐
- CasperJS 抓取京东商品详情页中的商品信息
- ASP入门(二)-创建Access数据库
- IIS发布ASP.NET MVC4.0教程
- ASP.NET MVC中如何在当前页面上弹出另外一个页面
- ASP通过ODBC连接SQL Server 2008数据库的方法
- asp.net 发送 xml post请求和接收 xml post请求时出现(500) 内部服务器错误(WebClient学习笔记)
- ASP.NET 5探险(8):利用中间件、TagHelper来在MVC 6中实现Captcha
- CasperJS API介绍(3)-- CasperJS utils module API介绍
- ASP入门(一)环境的搭建
- ASP.NET MVC RegisterRoutes浅解
- ABP(现代ASP.NET样板开发框架)系列之22、ABP展现层——导航栏设置
- 【asp.net】用户控件&自定义控件
- PHP模拟asp.net的StringBuilder类实现方法
- 从底层角度看ASP.NET-A low-level Look at the ASP.NET...
- ASP.NET(1)——三个对象
- PHP模拟asp中response类实现方法
- .NET/ASP.NET 4.5 Bundle组件(捆绑、缩小静态文件)
- ASP.NET Web Api 实践系列(一)自我寄宿
- ASP.NET中Cookie的用法实例分析
- CasperJS API介绍(2)-- CasperJS最基本API介绍