<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    漁人碼頭

    天行健,君子以自強不息。地勢坤,君子以厚德載物。
    posts - 12, comments - 16, trackbacks - 0, articles - 43
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    Struts實時生成Excel文件下載

    Posted on 2007-01-16 17:51 Fisher 閱讀(354) 評論(0)  編輯  收藏 所屬分類: Struts

    我做的項目原來是先在服務器上生成一個excel文件,然后用jspsmartupload下載的,可是由于用jspsmartupload下載的excel文件由于編碼問題會有損壞,而且服務器的壓力也太大,所以改為在Action中生成excel文件,然后下載,方便多了。由于項目的原因,excel文件是實時生成的,對于jxl的使用,大家可以參考jxl相關的文章。
    有什么問題可以和我聯(lián)系。
    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");//設定輸出文件頭
    ????? response.setContentType("application/msexcel");//定義輸出類型
    ????? ExcelBean eb = new ExcelBean();
    ????? eb.expordExcel(os);//調用生成excel文件bean
    ??? }catch(Exception e){
    ????? System.out.println(e);
    ??? }

    ??? return mapping.findForward("display");
    ? }
    }


    ExcelBean.java


    package test.whw.upload;
    import java.io.*;
    import jxl.*;
    import jxl.write.*;
    import jxl.format.*;
    import java.util.*;
    import java.awt.Color;

    public class ExcelBean {
    ? public ExcelBean(){}
    ? public String expordExcel(OutputStream os)throws Exception{
    ??? jxl.write.WritableWorkbook wbook = Workbook.createWorkbook(os); //建立excel文件
    ??? String tmptitle = "測試文件"; //標題
    ??? jxl.write.WritableSheet wsheet = wbook.createSheet("第一頁", 0); //sheet名稱
    ??? //設置excel標題
    ??? jxl.write.WritableFont wfont = new jxl.write.WritableFont(
    ??????? WritableFont.ARIAL, 16,
    ??????? WritableFont.BOLD, false, jxl.format.UnderlineStyle.NO_UNDERLINE,
    ??????? jxl.format.Colour.BLACK);
    ??? jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(
    ??????? wfont);
    ??? jxl.write.Label wlabel1;
    ??? wlabel1 = new jxl.write.Label(5, 0, tmptitle, wcfFC);
    ??? wsheet.addCell(wlabel1);
    ??? wfont = new jxl.write.WritableFont(
    ??????? WritableFont.ARIAL, 14,
    ??????? WritableFont.BOLD, false, jxl.format.UnderlineStyle.NO_UNDERLINE,
    ??????? jxl.format.Colour.BLACK);
    ??? wcfFC = new jxl.write.WritableCellFormat(
    ??????? wfont);
    ??? jxl.write.Label wlabel;
    ??? wlabel = new jxl.write.Label(0, 0, "寫入內容");
    ??? wsheet.addCell(wlabel); //
    ??? wbook.write(); //寫入文件
    ??? wbook.close();
    ??? os.close();
    ??? return "success";
    ? }
    }



    struts-config.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "<struts-config>
    ? <action-mappings>
    ??? <action type="test.whw.upload.DownloadAction" path="/download">
    ????? <forward name="display" path="/display.jsp" />
    ??? </action>
    ? </action-mappings>
    </struts-config>
    <!--display.jsp是成功的提示頁面-->




    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=181276


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 亚洲av区一区二区三| 色窝窝免费一区二区三区| 国产一级特黄高清免费大片| 亚洲成a人不卡在线观看| 一区二区在线免费观看| 久久亚洲国产伦理| 久久久久成人片免费观看蜜芽 | 免费黄色电影在线观看| 国产亚洲精品精华液| 99视频免费在线观看| 久久亚洲精品中文字幕三区| 男女作爱在线播放免费网站| 亚洲国产一区国产亚洲| 69国产精品视频免费| 亚洲电影唐人社一区二区| 91频在线观看免费大全| 亚洲天堂2017无码中文| 永久黄网站色视频免费观看| 免费看一级高潮毛片| 国产gv天堂亚洲国产gv刚刚碰| 精品一卡2卡三卡4卡免费视频| 亚洲AV无码精品色午夜在线观看| 91大神免费观看| 国产AV旡码专区亚洲AV苍井空| 国产青草视频免费观看97| 成年大片免费高清在线看黄| 亚洲精品二区国产综合野狼| 久视频精品免费观看99| 亚洲国产成人综合精品| 国产精品亚洲综合一区| 日韩免费无码一区二区三区| 亚洲六月丁香六月婷婷蜜芽| 日本牲交大片免费观看| 91视频免费观看高清观看完整| 亚洲美女人黄网成人女| 国产高清在线免费视频| 免费91最新地址永久入口 | 日韩色视频一区二区三区亚洲| 亚洲日韩中文字幕日韩在线| 久久国产免费观看精品3| 久久久久亚洲国产AV麻豆 |