KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > jasperreports > mysql > web > XlsServlet


1 package net.sf.jasperreports.mysql.web;
2
3 import java.io.IOException JavaDoc;
4 import java.io.PrintWriter JavaDoc;
5
6 import javax.servlet.ServletException JavaDoc;
7 import javax.servlet.ServletOutputStream JavaDoc;
8 import javax.servlet.http.HttpServlet JavaDoc;
9 import javax.servlet.http.HttpServletRequest JavaDoc;
10 import javax.servlet.http.HttpServletResponse JavaDoc;
11
12
13 /**
14  * @author Teodor Danciu (teodord@users.sourceforge.net)
15  * @version $Id: XlsServlet.java,v 1.1 2005/04/13 15:47:51 teodord Exp $
16  */

17 public class XlsServlet extends HttpServlet JavaDoc
18 {
19
20
21     /**
22      *
23      */

24     public void service(
25         HttpServletRequest JavaDoc request,
26         HttpServletResponse JavaDoc response
27         ) throws IOException JavaDoc, ServletException JavaDoc
28     {
29         byte[] bytes = null;
30
31         ReportBean reportBean = (ReportBean)request.getSession().getAttribute("reportBean");
32         if (reportBean != null)
33         {
34             bytes = reportBean.getXls();
35         }
36
37         if (bytes != null && bytes.length > 0)
38         {
39             response.setContentType("application/vnd.ms-excel");
40             response.setHeader("Content-Disposition", "inline; filename=\"file.xls\"");
41             response.setContentLength(bytes.length);
42             ServletOutputStream JavaDoc ouputStream = response.getOutputStream();
43             
44             try
45             {
46                 ouputStream.write(bytes, 0, bytes.length);
47                 ouputStream.flush();
48             }
49             catch (IOException JavaDoc e)
50             {
51                 if (ouputStream != null)
52                 {
53                     try
54                     {
55                         ouputStream.close();
56                     }
57                     catch (IOException JavaDoc ex)
58                     {
59                     }
60                 }
61             }
62         }
63         else
64         {
65             response.setContentType("text/html");
66             PrintWriter JavaDoc out = response.getWriter();
67             out.println("<html>");
68             out.println("<body bgcolor=\"white\">");
69             out.println("<span class=\"bold\">Empty response.</span>");
70             out.println("</body>");
71             out.println("</html>");
72         }
73     }
74
75
76 }
77
Popular Tags