jasperreport 输出

来源:互联网 发布:手机linux系统安装教程 编辑:程序博客网 时间:2024/05/17 03:43


Jasperreport 输出


参考1:

 public void doGet(HttpServletRequest request, HttpServletResponse response)            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();        }    }

参考2:


package servlets;import java.io.*;import java.util.*:import javax.servlet.*;import javax.servlet.http.*:import net.sf.jasperreports.engine.*;import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;import net.sf.jasperreports.engine.export.JRXlsExporter;public class GeneratePDFServlet extends HttpServlet {protected void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException {  public static final String XML_FILE_PATH ="E:/eclipse/workspace/StrutsTest/WEB-INF/src/pdf/xmls/";  protected void doGet(HttpServletRequest req, HttpServletResponse res)  throws ServletException, IOException {//创建response输出流,设置responxe回应的头部  OutputStream out = res.getOutputStream();  res.setContentType("application/pdf");  res.setHeader("Content-Disposition","attachment; filename=myFirstReport.pdf");  //filename为生成PDF的文件名//从当前session或request中获取.jrxml文件的文件名,存放成年用户信息的list,存放平均年龄的map  String fileName = (String) req.getAttribute("FileName");  List list = (List) req.getAttribute("List");  Map map = (Map) req.getAttribute("Map");//调用createPdf()获得PDF输出的字节流并打印出来。    byte[] bytes = createPdf(fileName, list, map);  res.setContentLength(bytes.length);   out.write(bytes, 0, bytes.length);  out.flush();}protected void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException {  doGet(req, res);}//封装创建PDF输出的compile和run方法,返回最终生成的字节流private byte[] createPdf(String fileName, List list, Map map) {  String path = XML_FILE_PATH + fileName;//.jrxml文件的全路径  String jrFile = XML_FILE_PATH + "testXML.jasper";//编译结果.jasper文件的全路径  byte[] bytes = null;  try{      JasperCompileManager.compileReportToFile(path, jrFile);  }catch (JRException e){         e.printStackTrace();  }  try{  bytes =JasperRunManager.runReportToPdf(jrFile, map, new JRBeanCollectionDataSource(list));  }catch (JRException e){     e.printStackTrace();  }  return bytes;} }


原创粉丝点击