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

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

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

    excel文件下載,數據庫字段datafiled檢索--JS URL傳值給servlet亂碼

     

    1 //javascript里面加密兩次,兩次才可以的。2 var url = "servlet/getText?name=" + encodeURI(encodeURI(name));
    <script language="javascript" type="text/javascript">
            function show()
            {
             var name="test";
             var admin="ok";
             var url = "http://localhost:7001/sosuo/ggld/fleet?reloadVessel=" 
               + encodeURI(encodeURI(name))+"
    &reloadVoyage="+ encodeURI(encodeURI(admin));
                window.open(url);
            }
        
    </script>

    1 //在java里面,通過指定的編碼解密即可。2 String name = URLDecoder.decode(request.getParameter("name"),"utf-8");

    web.xml配置:
    <servlet> <!-- 新添加 車隊 download -->        <servlet-name>fleetDataDownload</servlet-name>        <servlet-class>com.cenin.util.FleetDataDownload</servlet-class>    </servlet>
    <servlet-mapping>        <servlet-name>fleetDataDownload</servlet-name>        <url-pattern>/ggld/fleet</url-pattern>    </servlet-mapping>

    DataDownload.java頁面:

    package com.cenin.util;


    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.net.*;
    import java.sql.*;

    import org.apache.commons.digester.Digester;
    import org.apache.log4j.Logger;
    import com.cenin.database.DBManager;



    public class DataDownload  extends HttpServlet 
    {
        private static   Logger logger = Logger.getLogger(DataDownload .class);
        
        public void init(ServletConfig config) throws ServletException 
        {
            super.init(config);
            try
            {
            }
            catch(Exception ex)
            {
                logger.info(ex.getMessage());
            }

        }
        public void doGet(HttpServletRequest request, HttpServletResponse response)  throws ServletException, IOException 
        {
            doPost(request,response);
        }
        public void doDownload(HttpServletRequest request, HttpServletResponse response, String fileName, String vessel, String voyage)
        {
            try
            {
                
                response.reset();
                response.setContentType("application/vnd.ms-excel");
                response.setHeader("Content-Disposition", "inline; filename=\""+ fileName  + "\"");
                ServletOutputStream sos = response.getOutputStream();
                String title = "數據導出";


                String[] fieldTitles = {"船名", "航次", "提單號", "箱號", "鉛封號", "箱型", "貨名", "重量", "體積", "發貨人", "收貨人", "裝貨港", "卸貨港"};
                String[] fieldNames = {"szVessel", "szVoyage", "szBlNo", "szCtnNo", "szSealNo", "szCtnType", "szCargoName", "fWeight", "fVolume", "szReceiver", "szSender", "szLoadPortCode", "szDischargePortCode"};
                int[] widths = {100, 50, 100, 120, 120, 50, 100, 50, 50, 80, 80, 80, 80};

                Connection conn = DBManager.getInstance().getConnection();
                Statement stmt=conn.createStatement(); 
                String sql = "select * from NmhContainer where szVessel='" + 
                        vessel + "' and szVoyage='" + voyage + "'"; // and szBlNo='" + blno + "'";
                ResultSet rs = stmt.executeQuery(sql);
                OutputUtil.excelOutput(title, fieldTitles, fieldNames, widths, rs, sos, "ISO-8859-1", "GBK");
                
                DBManager.getInstance().freeDBResource(rs, stmt, conn);
                
            }
            catch(Exception ex)
            {
                logger.info(ex.getMessage());
            }
            
        }
        public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
        {
            try
            {
                String vessel = request.getParameter("reloadVessel");
                String voyage = request.getParameter("reloadVoyage");
                //String blno = request.getParameter("reloadBlno");
                String name = vessel + "_" + voyage + "_" + ".xls";
                doDownload(request, response, name, vessel, voyage);
                
            }
            catch(Exception ex)
            {
                logger.info(ex.getMessage());
            }

            
            
        }
    }

    OutputUtil.java頁面:

    package com.cenin.util;
    /*
     * 輸出PDF, Excel等格式
     * 2005.5.12 by chenyong@cenin
     * 2005.12.19
     */


    import jxl.Workbook;
    import jxl.write.*;
    import com.lowagie.text.Document;
    import com.lowagie.text.Rectangle;
    import com.lowagie.text.Font;
    import com.lowagie.text.PageSize;
    import com.lowagie.text.HeaderFooter;
    import com.lowagie.text.Phrase;
    import com.lowagie.text.Element;
    import com.lowagie.text.Table;
    import com.lowagie.text.pdf.*;
    import java.io.*;
    import java.util.*;
    import java.sql.*;
    import org.apache.log4j.Logger;


    public class OutputUtil  
    {
        private static Logger logger = Logger.getLogger(OutputUtil.class);
        /*******************************************************
        * pdf輸出表格
        * title為pdf head
        * fieldtitles為 表頭項目名稱數組
        * filenames 為  對象屬性名數組
        * widths 為 寬度%數組
        * rs為resultset
        * os 為輸出流
        * codefrom , codeto 如果需要編碼轉換
        *******************************************************/    
        public static void excelOutput(String title, String[] fieldtitles, String[] fieldnames, int[] widths, ResultSet rs, OutputStream os, String codefrom, String codeto)
        {
            
            try
            {
                int fieldnumber = fieldnames.length; //, cellnumber = fieldnumber*5;
                if(fieldnumber!=fieldtitles.length||fieldnumber!=fieldnames.length)
                    return;

                WritableWorkbook workbook = Workbook.createWorkbook(os);
                WritableSheet sheet = workbook.createSheet(title, 0);
                
                //add field title
                for(int i=0;i
    <fieldnumber;i++)
                {
                    //String temp 
    = new String(fieldtitles[i].getBytes(codefrom), codeto);
                    sheet.addCell(new Label(i, 0, fieldtitles[i]));
                    
                }
                //add values
                int i
    =0;
                
    while(rs.next())
                {
                    for(int j
    =0; j<fieldnames.length; j++)
                    {
                        if(rs.getString(fieldnames[j])!
    =null)
                        
    {
                            //String temp1 
    = rs.getString(fieldnames[j]);
                            
    String temp = new String(rs.getString(fieldnames[j]).getBytes("ISO-8859-1"), "GBK");
                            sheet.addCell(new Label(j, i+1, temp));
                        }
                        else
                            sheet.addCell(new Label(j, i+1, ""));
                    }
                    i++;
                }
                //write to excel
                workbook.write();
                workbook.close();
                
            }
            catch(Exception e)
            {
                logger.info(e.toString());
            }
                
        }

    }

    /*例子
    FileOutputStream os 
    = new FileOutputStream("e:\\a.xls");
    String[] titles 
    = {"系統編號","員工","用戶帳號"};
    String[] fieldnames = {"lsystemUserId","staff.szname","szaccount"};
    int[] widths = {20,20,20}; 
    //OutputUtil.pdfOutput("my pdf輸出", titles, fieldnames, widths,objectList,os);
    //OutputUtil.excelOutput("excel輸出", titles, fieldnames, widths,objectList,os);

    */

     

    posted on 2012-09-20 17:04 youngturk 閱讀(450) 評論(0)  編輯  收藏 所屬分類: JavaScriptJS , DHTMLJava基礎Flex DEVservlet

    <2012年9月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    導航

    統計

    公告

    this year :
    1 jQuery
    2 freemarker
    3 框架結構
    4 口語英語

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    EJB學習

    Flex學習

    learn English

    oracle

    spring MVC web service

    SQL

    Struts

    生活保健

    解析文件

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲乱码日产精品a级毛片久久| 亚洲av午夜国产精品无码中文字| 国产精品免费视频一区| 日韩精品无码免费一区二区三区| 一级做受视频免费是看美女| 亚洲欧美乱色情图片| 亚洲国产精品lv| 2048亚洲精品国产| 在线日韩av永久免费观看| 精品无码无人网站免费视频| 一级特黄录像免费播放肥| 国产精品亚洲综合网站| 亚洲中文字幕无码久久2020| 亚洲成年人电影网站| 亚洲2022国产成人精品无码区| 国产L精品国产亚洲区久久| 国产禁女女网站免费看| 好男人视频社区精品免费| av无码国产在线看免费网站| 84pao强力永久免费高清| 日韩精品内射视频免费观看| 暖暖免费在线中文日本| 国产免费一区二区视频| aa毛片免费全部播放完整| h在线看免费视频网站男男| 青青草97国产精品免费观看 | 久久精品无码专区免费| 污污免费在线观看| 色网站在线免费观看| MM1313亚洲国产精品| 国产亚洲精品美女久久久久| 国产精品无码亚洲一区二区三区 | 国产精品久久久久影院免费| 日韩在线看片免费人成视频播放| 午夜a级成人免费毛片| 国产成人免费全部网站 | 日本中文字幕免费看| 国产尤物在线视精品在亚洲| 男男gay做爽爽的视频免费| 特级毛片全部免费播放a一级| 免费看一级一级人妻片 |