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

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

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

    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.tkk7.com/sxyx2008/謝謝合作!!!

    雪山飛鵠

    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.tkk7.com/sxyx2008/謝謝合作!!!

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks
    頁面代碼:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html; charset=utf-8" isELIgnored="false"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%
        String path 
    = request.getContextPath();
    %>
    <html>
    <head>
        
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        
    <link rel="stylesheet" type="text/css" href="<%=path %>/css/style.css">
        
    <link rel="stylesheet" type="text/css" href="<%=path %>/css/easyui.css">
        
    <link rel="stylesheet" type="text/css" href="<%=path %>/css/icon.css">
        
    <script type="text/javascript" src="<%=path %>/js/jquery.js"></script>
        
    <script type="text/javascript" src="<%=path %>/js/jquery.easyui.min.js"></script>
        
    <script type="text/javascript" src="<%=path %>/js/mouseEvnet.js"></script>
        
    <script type="text/javascript" src="<%=path %>/js/page.js"></script>
        
    <script type="text/javascript" src="<%=path %>/js/sorttable.js"></script>
        
    <script type="text/javascript">
          function export_report(type,title)
    {
              var tableHeader
    ="";
              var tableBody
    ="";
              
    //獲取表格信息
              $("#tableResult tr").each(function(i,_tr){
                  $(_tr).children().each(function(k,_td)
    {
                      
    if(i==0){
                          tableHeader
    +=$.trim($(_td).text())+",";
                      }
    else{
                          tableBody
    +=$.trim($(_td).text())+"##";
                      }

                  }
    );
                  
    if(i>0){
                       tableBody
    +="@@";
                  }

              }
    );
              
    if(tableHeader==""){
                  alert(
    "表頭未初始化!");
                  
    return false;
              }

              
    if(tableBody==""){
                  alert(
    "表格體沒內容!");
                  
    return false;
              }

              $(
    "#report_title").val(title);
              $(
    "#report_type").val(type);
              $(
    "#report_tableHeader").val(tableHeader);
              $(
    "#report_tableBody").val(tableBody);
              $(
    "#report_form").submit();
                 
          }

        
    </script>
    </head>
        
    <body>
    <form action="#" method="post" target="_self" name="naturalPerson" id="naturalPerson">
    <c:if test="${list==null||empty list}" var="val">
        
    <center><font color='red' size=3>對不起,沒有你要查詢的記錄!!!</font></center>
    </c:if>
    <c:if test="${!val}">
        
    <div class="dispaly-div" >
        
    <table id="tableResult" width="100%" border="0" align="center" cellpadding="0" cellspacing="0" style="border-collapse: collapse;" class="sortable">
          
    <thead>
              
    <tr style="cursor: pointer;">
            
    <td  height="28" align="center" class="td_LTBG">戶人編號</td>
            
    <td  height="28" align="center" class="td_LTBG">戶編號</td>
            
    <td  height="28" align="center" class="td_LTBG">姓名</td>
            
    <td  height="28" align="center" class="td_LTBG">性別</td>
            
    <td  height="28" align="center" class="td_LTBG">現居住地</td>
            
    <td  height="28" align="center" class="td_LTBG">戶籍所在地</td>
            
    <td  height="28" align="center" class="td_LTBG">公民身份證號碼</td>
            
    <td  height="28" align="center" class="td_LTBG">出生日期</td>
            
    <td  height="28" align="center" class="td_LTBG">民族</td>
            
    <td  height="28" align="center" class="td_LTBG">文化程度</td>
            
    <td  height="28" align="center" class="td_LTBG">戶口性質</td>
            
    <td  height="28" align="center" class="td_LTBG">婚姻狀況</td>
          
    </tr>
          
    </thead>
          
    <c:forEach items="${list}" var="naturalPerson">
               
    <tr>
                   
    <td  height="28" align="center" class="td_TRB"><c:out value="${naturalPerson.hrbh}"/></td>
                
    <td  height="28" align="center" class="td_TRB"><c:out value="${naturalPerson.hbh}"/></td>
                
    <td  height="28" align="center" class="td_TRB"><c:out value="${naturalPerson.xm}"/></td>
                
    <td  height="28" align="center" class="td_TRB"><c:out value="${naturalPerson.xb}"/></td>
                
    <td  height="28" align="center" class="td_TRB"><c:out value="${naturalPerson.xjzd}"/></td>
                
    <td  height="28" align="center" class="td_TRB"><c:out value="${naturalPerson.hjszd}"/></td>
                
    <td  height="28" align="center" class="td_TRB"><c:out value="${naturalPerson.gmsfzhm}"/></td>
                
    <td  height="28" align="center" class="td_TRB"><c:out value="${naturalPerson.csrq}"/></td>
                
    <td  height="28" align="center" class="td_TRB"><c:out value="${naturalPerson.mz}"/></td>
                
    <td  height="28" align="center" class="td_TRB"><c:out value="${naturalPerson.whcd}"/></td>
                
    <td  height="28" align="center" class="td_TRB"><c:out value="${naturalPerson.kuxz}"/></td>
                
    <td  height="28" align="center" class="td_TRB"><c:out value="${naturalPerson.hyzk}"/></td>
               
    </tr>
          
    </c:forEach>
         
    </table>
         
    </div>
        
    <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
            
    <tr>
                
    <td height="25" align="right" class="td_RB">
                 
    <span style="margin-right: 20%;">
                     
    <a id="expor_pdf" onclick="return export_report('pdf','自然人基本信息');" style="cursor: pointer;">導出PDF</a> | 
                     
    <a  id="expor_excel" onclick="return export_report('excel','自然人基本信息');" style="cursor: pointer;">導出Excel</a>
                 
    </span>
                
                  共
    <font color="red" size="2">${page.rowCounts}</font>&nbsp;&nbsp;
                  當前
    <font color="red" size="2">${page.currPageNum}</font>/<font color="red" size="2">${page.pageCount}</font>&nbsp;
                  
    <c:if test="${page.currPageNum==1}">
                      
    <a id="first" name="first">首頁</a>&nbsp;
                  
    </c:if>
                  
    <c:if test="${page.currPageNum!=1}">
                      
    <a id="first" name="first" href="javascript:goPages('naturalPerson','/naturalPersonAction','1')">首頁</a>&nbsp;
                  
    </c:if>
                  
    <c:if test="${page.currPageNum>1}">
                      
    <a id="pre" name="pre" href="javascript:goPages('naturalPerson','/naturalPersonAction','${page.currPageNum-1}')">上一頁</a>
                  
    </c:if>
                  
    <c:if test="${page.currPageNum<=1}">上一頁</c:if>&nbsp;
                  
    <c:if test="${page.currPageNum<page.pageCount}">
                      
    <a id="next" name="next" href="javascript:goPages('naturalPerson','/naturalPersonAction','${page.currPageNum+1}')">下一頁</a>
                  
    </c:if>
                  
    <c:if test="${page.currPageNum>=page.pageCount}">下一頁</c:if>&nbsp;
                  
    <c:if test="${page.currPageNum==page.pageCount}">
                      
    <a id="last" name="last">未頁</a>&nbsp;
                  
    </c:if>
                  
    <c:if test="${page.currPageNum!=page.pageCount}">
                      
    <a id="last" name="last" href="javascript:goPages('naturalPerson','/naturalPersonAction','${page.pageCount}')">未頁</a>&nbsp;
                  
    </c:if>
                  轉到
    &nbsp;<select name="pageNum" id="pageNum" class="input_text_page_width" onchange="goPagesForSelect('naturalPerson','/naturalPersonAction',$('#pageNum')[0].value)">
                      
    <c:forEach var="varName" begin="1" end="${page.pageCount}" step="1">
                          
    <c:if test="${varName==page.currPageNum}">
                        
    <option value="${varName}" selected>${varName}</option>
                        
    </c:if>
                        
    <c:if test="${varName!=page.currPageNum}">
                        
    <option value="${varName}">${varName}</option>
                        
    </c:if>
                    
    </c:forEach>
                
    </select>
                
    &nbsp;&nbsp;&nbsp;&nbsp;
                
    </td>
            
    </tr>
        
    </table>
    </c:if>
    </form>

    <form action="<%=path%>/exportServlet" method="post" id="report_form">
       
    <input type="hidden" name="title" id="report_title"/>
       
    <input type="hidden" name="type" id="report_type"/>
       
    <input type="hidden" name="tableHeader" id="report_tableHeader"/>
       
    <input type="hidden" name="tableBody" id="report_tableBody"/>
    </form>

    </body>
    </html>
    后臺代碼:
    package com.future.util;


    import java.awt.Color;
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStream;

    import javax.servlet.ServletException;
    import javax.servlet.ServletOutputStream;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;

    import com.lowagie.text.Cell;
    import com.lowagie.text.Document;
    import com.lowagie.text.DocumentException;
    import com.lowagie.text.Element;
    import com.lowagie.text.Font;
    import com.lowagie.text.HeaderFooter;
    import com.lowagie.text.PageSize;
    import com.lowagie.text.Paragraph;
    import com.lowagie.text.Phrase;
    import com.lowagie.text.Table;
    import com.lowagie.text.pdf.BaseFont;
    import com.lowagie.text.pdf.PdfWriter;

    /**
     * 功能描述:此servlet用于將當前頁面表格內容導出到pdf和excel<br>
     * 參數說明:
     *          String type 為導出類型
     *          String title 報表中title
     *          String tableHeader 頁面中表格的表頭
     *          String tableBody 表格內容
     * 注解:其中頁面數據是以特殊字符分隔傳遞過來的
     *         逗號(,)用來連接表頭,后臺用逗號來解析頁面傳遞過來的表頭
     *         @@用來分隔一條數據,后臺用@@來解析每條數據
     *         ##用來分隔單元格,后臺用##來解析每條數據對應的單元格             
     * 創建時間:2010-07-01
     * 
    @author sxyx2008
     * 
    @version 1.0.0
     
    */

    @SuppressWarnings(
    "serial")
    public class ExportServlet extends HttpServlet {
        
        @Override
        
    protected void service(HttpServletRequest request, HttpServletResponse response)
                
    throws ServletException, IOException {
            request.setCharacterEncoding(
    "utf-8");
            response.reset();
            
    //導出類型
            String type=request.getParameter("type");
            
    //報表標題
            String title=request.getParameter("title");
            
    //表頭
            String tableHeader=request.getParameter("tableHeader");
            
    //表格內容
            String tableBody=request.getParameter("tableBody");
            
    //文件名
            String fileName="";
            
            
    if("pdf".equals(type)){
                
    try {
                    exportToPdf(title,tableHeader,tableBody,response);
                }
     catch (Exception e) {
                    e.printStackTrace();
                }

            }
    else if("excel".equals(type)){
                fileName 
    = new String(new String((title + ".xls").getBytes(),"ISO-8859-1"));
                response.setContentType(
    "application/vnd.ms-excel;charset=utf-8");
                response.setHeader(
    "Content-Disposition""attachment;filename="+ fileName);
                InputStream inputStream
    =exportToExcel(title, tableHeader,tableBody);
                ServletOutputStream out 
    = response.getOutputStream();
                BufferedInputStream bis 
    = null;
                BufferedOutputStream bos 
    = null;
                
    try {
                    bis 
    = new BufferedInputStream(inputStream);
                    bos 
    = new BufferedOutputStream(out);
                    
    byte[] buff = new byte[2048];
                    
    int bytesRead;
                    
    while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
                        bos.write(buff, 
    0, bytesRead);
                    }

                }
     catch (final IOException e) {
                    
    throw e;
                }
     finally {
                    
    if (bis != null)
                        bis.close();
                    
    if (bos != null)
                        bos.close();
                }

            }

        }

        
        
        
    /**
         * 導出到excel表格
         
    */

        
    private InputStream exportToExcel(String title,String tableHeader,String tableBody) {
            
            
    // 創建工作表
            HSSFWorkbook wb = new HSSFWorkbook();
            
    // 創建第一個工作區
            HSSFSheet sheet = wb.createSheet(title);
            
    // 創建標題行
            HSSFRow row = sheet.createRow(0);
            
    // 獲取表頭
            String[] header = tableHeader.split(",");
            
    // 分隔每一行記錄
            String[] content = tableBody.split("@@");
            
            
    // 創建表頭
            HSSFCell cell = null;
            
    for (int i = 0; i < header.length; i++{
                cell 
    = row.createCell(i);
                cell.setCellValue(header[i]);
            }

            
    //循環每條記錄
            for (int i = 0; i < content.length; i++{
                row 
    = sheet.createRow(i + 1);
                
    //取出每個單元格的值
                String[] value=content[i].split("##");
                
    for (int j = 0; j < value.length; j++{
                    cell 
    = row.createCell(j);
                    cell.setCellValue(value[j]);
                }

            }

            ByteArrayOutputStream os 
    = new ByteArrayOutputStream();
            
    try {
                wb.write(os);
            }
     catch (IOException e) {
                e.printStackTrace();
            }

            
    byte[] contents = os.toByteArray();
            InputStream is 
    = new ByteArrayInputStream(contents);
            
    return is;
        }

        
        
        
        
        
        
    /**
         * 導出到pdf
         * 
         
    */

        
    private void exportToPdf(String title,String tableHeader,String tableBody,HttpServletResponse response) throws Exception{
            Document doc
    =new Document(PageSize.A4,50,50,50,50);
            ByteArrayOutputStream byteArrayOutputStream
    =new ByteArrayOutputStream();
            PdfWriter writer
    =PdfWriter.getInstance(doc,byteArrayOutputStream);
            doc.addCreationDate();
            HeaderFooter footer
    =new HeaderFooter(new Phrase(), true);
            
    //設置頁腳是否有邊框
            
    //0表示無
            
    //1上邊框
            
    //2下邊框
            
    //3上下邊框都有 默認都有

            footer.setBorder(
    0);
            
    //footer.setBorder(1);
            
    //footer.setBorder(2);
            
    //footer.setBorder(3);
            
            footer.setAlignment(Element.ALIGN_CENTER);
            doc.setFooter(footer);
            doc.open();
            
    // 獲取表頭
            String[] header = tableHeader.split(",");
            
    // 分隔每一行記錄
            String[] content = tableBody.split("@@");
            
    //根據傳遞進來的表頭創建pdf的表頭
            
            Paragraph paragraph
    =new Paragraph(title,ChineseFont());
            paragraph.setAlignment(Element.ALIGN_CENTER);
            doc.add(paragraph);
            
            Table table
    =new Table(header.length);
            table.setWidth(
    100);
            table.setBorder(
    1);
            
    for (int i = 0; i < header.length; i++{
                Cell cell
    =new Cell(new Phrase(header[i],ChineseFont()));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setVerticalAlignment(Element.ALIGN_CENTER);
                cell.setHeader(
    true);
                cell.setBackgroundColor(
    new Color(231,231,231));
                table.addCell(cell);
            }

            table.endHeaders();
            
    //循環每條記錄
            for (int i = 0; i < content.length; i++{
                Cell cell
    =null;
                
    //取出每個單元格的值
                String[] value=content[i].split("##");
                
    for (int j = 0; j < value.length; j++{
                    cell 
    = new Cell(new Phrase(value[j],ChineseFont()));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setVerticalAlignment(Element.ALIGN_CENTER);
                    table.addCell(cell);
                }

                
            }

            doc.add(table);
            doc.close();
            writer.close();
            String fileName 
    = new String(new String((title + ".pdf").getBytes(),"ISO-8859-1"));
            response.setContentType(
    "application/pdf;charset=utf-8");
            response.setHeader(
    "Content-Disposition""attachment;filename="+ fileName);
            ServletOutputStream outputStream
    =response.getOutputStream();
            byteArrayOutputStream.writeTo(outputStream);
            outputStream.flush();
            outputStream.close();
        }

        
        
        
    /**
         * pdf中文字體設置
         * 
    @return
         
    */

        
    public static Font ChineseFont()
        
    {
            BaseFont baseFont
    =null;
            
    try {
                baseFont
    =BaseFont.createFont("STSong-Light","UniGB-UCS2-H"true);
            }
     catch (DocumentException e) {
                e.printStackTrace();
            }
     catch (IOException e) {
                e.printStackTrace();
            }

            Font chineseFont
    =new Font(baseFont,8,Font.BOLD,Color.BLACK);
            
    return chineseFont;
        }

        
        
        
        
        
    }


    posted on 2010-07-01 18:07 雪山飛鵠 閱讀(2384) 評論(0)  編輯  收藏 所屬分類: javase
    主站蜘蛛池模板: 国产综合免费精品久久久| 香蕉视频在线免费看| 日本免费网址大全在线观看| 亚洲精品在线观看视频| 曰批全过程免费视频在线观看无码| 国产亚洲?V无码?V男人的天堂| 丰满妇女做a级毛片免费观看| 亚洲精品偷拍视频免费观看| 精品国产污污免费网站入口在线| 国产精品亚洲片在线观看不卡| aaa毛片免费观看| 亚洲情a成黄在线观看动漫尤物| 亚洲一区二区在线免费观看| 亚洲福利秒拍一区二区| 成人性生交大片免费看无遮挡| 亚洲AV噜噜一区二区三区| 国产一级淫片免费播放| 国产精品免费一区二区三区| 午夜影视日本亚洲欧洲精品一区| 国产精品成人免费福利| 亚洲精品无码专区| 伊人久久亚洲综合| 中文字幕成人免费视频| 亚洲乱码日产精品一二三| 亚洲一区二区三区在线播放 | 午夜亚洲福利在线老司机| 一级做α爱过程免费视频| 久久亚洲日韩精品一区二区三区| 全免费毛片在线播放| 一区二区三区精品高清视频免费在线播放 | 亚洲精品无码久久久久| 亚洲高清视频免费| 国产亚洲精品免费| 亚洲春色在线视频| 免费看的成人yellow视频| 国产一级在线免费观看| 亚洲无mate20pro麻豆| 亚洲色爱图小说专区| 夭天干天天做天天免费看| 水蜜桃视频在线观看免费播放高清 | 一级毛片**不卡免费播|