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

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

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

    excel文件下載,數(shù)據(jù)庫字段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 = "數(shù)據(jù)導(dǎo)出";


                String[] fieldTitles = {"船名", "航次", "提單號", "箱號", "鉛封號", "箱型", "貨名", "重量", "體積", "發(fā)貨人", "收貨人", "裝貨港", "卸貨港"};
                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為 表頭項目名稱數(shù)組
        * filenames 為  對象屬性名數(shù)組
        * widths 為 寬度%數(shù)組
        * rs為resultset
        * os 為輸出流
        * codefrom , codeto 如果需要編碼轉(zhuǎn)換
        *******************************************************/    
        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 
    = {"系統(tǒng)編號","員工","用戶帳號"};
    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 閱讀(451) 評論(0)  編輯  收藏 所屬分類: JavaScriptJS , DHTMLJava基礎(chǔ)Flex DEVservlet

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

    導(dǎo)航

    統(tǒng)計

    公告

    this year :
    1 jQuery
    2 freemarker
    3 框架結(jié)構(gòu)
    4 口語英語

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    EJB學(xué)習(xí)

    Flex學(xué)習(xí)

    learn English

    oracle

    spring MVC web service

    SQL

    Struts

    生活保健

    解析文件

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: av无码东京热亚洲男人的天堂| 亚洲精品无码专区在线播放| 亚洲人成www在线播放| 激情综合色五月丁香六月亚洲| 成人嫩草影院免费观看| 亚洲精品无码永久在线观看| 免费H网站在线观看的| 97国免费在线视频| 野花视频在线官网免费1| 亚洲精品视频免费| 免费无码又爽又刺激高潮的视频 | 最近2022中文字幕免费视频| 亚洲视频免费播放| 国产成人免费高清激情视频| 亚洲欧洲免费视频| 免费高清国产视频| 久久亚洲国产成人影院| 亚洲国产韩国一区二区| 亚洲天天在线日亚洲洲精| 美女视频黄免费亚洲| 4虎1515hh永久免费| 99爱视频99爱在线观看免费| 无码亚洲成a人在线观看| 亚洲熟妇AV日韩熟妇在线| 7777久久亚洲中文字幕| 亚洲乱码中文字幕小综合| 亚洲妓女综合网99| 亚洲国产日韩在线| 亚洲国产成a人v在线观看| 精品亚洲国产成人| 亚洲人成色777777在线观看| 99re热免费精品视频观看| 成人免费一级毛片在线播放视频 | 亚洲成a人片7777| 亚洲成人网在线播放| 久久精品国产99国产精品亚洲| 精品国产成人亚洲午夜福利| 自拍日韩亚洲一区在线| 亚洲精品无码av片| 免费看美女午夜大片| 精品乱子伦一区二区三区高清免费播放 |