龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

Struts实时生成Excel文件下载

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
我做的项目原来是先在服务器上生成一个Excel文件,然后用jspsmartupload下载的,可是由于用jspsmartupload下载的excel文件由于编码问题会有损坏,而且服务器的压力也太大,所以改为在Acti

  我做的项目原来是先在服务器上生成一个Excel文件,然后用jspsmartupload下载的,可是由于用jspsmartupload下载的excel文件由于编码问题会有损坏,而且服务器的压力也太大,所以改为在Action中生成excel文件,然后下载,方便多了。由于项目的原因,excel文件是实时生成的,对于jxl的使用,大家可以参考jxl相关的文章。
  有什么问题可以和我联系。
  MSN:whw_dream(AT)hotmail.com
  代码如下:
  test.jsp
  

  


  
  <%@ taglib uri="/WEB-INF/struts-Html.tld" prefix="html" %>
  <html:html>
  <html:button property="button" onclick="printAll()">
  DownLoad
  </html:button>
  </html:html>
  <script language='javascript'>
  function printAll(){ location.href="<%=request.getContextPath()%><%=request.getContextPath()%>/download.do"; }
  </script>
  

  


  DownloadAction.Java
  

  


  import org.apache.struts.action.*;
  import javax.servlet.http.*;
  import java.io.OutputStream;
  import test.whw.upload.ExcelBean;
  /**
   * <p>Title:DownloadAction </p>
   * <p>Description: QRRSMMS </p>
   * <p>Copyright: Copyright (c) 2004 jiahansoft</p>
   * <p>Company: jiahansoft</p>
   * @author wanghw
   * @version 1.0
   */

  public class DownloadAction extends Action {
    public ActionForward execute(ActionMapping mapping,
                                 ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response)
        throws Exception {
      try{
        String fname = "test";//Excel文件名
        OutputStream os = response.getOutputStream();//取得输出流
        response.reset();//清空输出流
        response.setHeader("Content-disposition", "attachment; filename=" + fname + ".xls");//设定输出文件头
  
  

精彩图集

赞助商链接