JSP export to Excel

I have a JSP where I get data from database and display as a report but now I added a href to have  a view in excel .  I have added set content type and set header but no luck - excel file is not opening.

 Below is my code .  

Please help




<table width="98%" border="1" cellspacing="0" align="center">
    <tr align="center">
     <FONT color="#333399" size="4"><STRONG>Summary Report</STRONG></FONT>
	  </tr>
   </table>	
  <div id="blankout">
   <p></p>
 
 
  <center>
 
 
<a type="application/vnd.ms-excel" href="ref_rev_sum_rpt.jsp?msexcel=ref_rev_sum_rpt.xls">
	View in MS Excel </a>  
 <%
 String type=request.getParameter("msexcel");
 
if(type!=null && type.equalsIgnoreCase("msexcel")){
response.setHeader("Content-Disposition", "attachment;filename=ref_rev_sum_rpt.xls");
response.setContentType("application/msexcel");
}
%>
 
 
 
</center>

Open in new window

Nikki1Asked:
Who is Participating?
 
irf44zCommented:
1. Looks like there is a bug in your code: if(type!=null && type.equalsIgnoreCase("msexcel")){
     I think, the variable "type" holds the file name and not the constant "msexcel".
     Probably, you need to change it to:
         if (type != null && type.trim().length() > 0) {

2. The Content Type for EXCEL should be "application/vnd.ms-excel"

3. Also, place the scriptlet at the top of the JSP file (May not be mandatory, but just in case)
<%
  String type=request.getParameter("msexcel");
  if (type != null && type.trim().length() > 0) {
    response.setHeader("Content-Disposition", "attachment;filename=ref_rev_sum_rpt.xls");
    response.setContentType("application/vnd.ms-excel");
  }
%>
0
 
Nikki1Author Commented:
It worked fine with the small tweak in if statement . Thank you
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.