您的位置:首页 > Web前端 > JavaScript

java代码导出数据到Excel、js导出数据到Excel(三)

2015-04-08 11:21 585 查看
 jsp内容忽略,仅写个出发按钮:

         <button style="width: 100px" onclick="expertExcel()" >JS导出Excel</button>   

        <button style="width: 100px" onclick="expertWord()" >JS导出Word</button>   

        <button style="width: 100px" onclick="getDataToExcel2()" >代码导出</button>

         

      <div class ='main' id='main'></div>

      <div class ='bottom' id='buttom12'>

      </div>

      

     </div>

  </body>

</html>

<script type="text/javascript"> 

  

  

  //后台弹出框式导出数据到Excel
  function getDataToExcel2(){

   var sssj = document.getElementById("time_ctrol").value;

   var xtmc = document.getElementById("st").value;

   

   xtmc = encodeURI(encodeURI(xtmc));

   var requestURL = "./DataToExcel.jsp?type=getDataToExcel&sssj=" + sssj + "&xtmc=" + xtmc;

   window.open(requestURL);

  }

  

  function createXMLHttpRequest(){

     if (window.ActiveXObject) {

    XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");

   } else {

    XMLhttpObject = new XMLHttpRequest();

   }

     return XMLhttpObject;

  }

 

  

  

    

 

 </script>
 //js导出EXCEL
 <script type="text/javascript">

   function expertExcel(){

    var oXL = new ActiveXObject("Excel.Application");

      var oWB = oXL.Workbooks.Add();

      var oSheet = oWB.ActiveSheet;

      var sel=document.body.createTextRange();

      sel.moveToElementText(main);

      sel.select();

      sel.execCommand("Copy");

      oSheet.Paste();

      oXL.Visible = true;

   }

   

 
 
代码导出页面,抄袭来自csdn:
 <% 

  //这样写不太科学,因为filename一般不会写死

    //response.setHeader("Content-Disposition", "attachment;filename= aa.xls");

 //response.setContentType("application/vnd.ms-excel"); 

%>
<%@ page language="java" import="java.util.*" contentType="application/vnd.ms-excel;charset=UTF-8" pageEncoding="UTF-8"%>

<%@ page import="java.net.URLDecoder"%>

<%@ page import="nariis.pi3000.ythTjFx.sbjk.pageHelp.*"%>

<%@ page import="org.apache.poi.hssf.usermodel.*"%>

<%@ page import="java.util.ArrayList"%>

<%@ page import="nariis.pi3000.ythTjFx.sbjk.entity.DataEntity"%>
<%

 String type = request.getParameter("type");

 String sssj = request.getParameter("sssj");

 String xtmc = request.getParameter("xtmc");

     xtmc = URLDecoder.decode(xtmc,"UTF-8");

 

 System.out.print(type);

 System.out.print(sssj);

 System.out.print(xtmc);

 

 String path = "Excel";  //注意,千万别写中文

 

 response.setHeader("Content-Disposition", "attachment;filename=" + path +".xls");

 

 if("getDataToExcel".equals(type)){

  PageService pageService = new PageService();

  ArrayList<DataEntity>  list = pageService.getAllDataToExcel2(sssj);

  

  // 第一步,创建一个webbook,对应一个Excel文件  

        HSSFWorkbook wb = new HSSFWorkbook(); 

       // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet  

       HSSFSheet sheet = wb.createSheet("学生表一"); 

       // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short  

       HSSFRow row = sheet.createRow((int) 0); 

        // 第四步,创建单元格,并设置值表头 设置表头居中  

        HSSFCellStyle style = wb.createCellStyle(); 

        style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式  

 

        HSSFCell cell = row.createCell((short) 0); 

       

        cell.setCellValue("SX"); 

        cell.setCellStyle(style); 

        cell = row.createCell((short) 1); 

        cell.setCellValue("DWMC"); 

        cell.setCellStyle(style); 

        cell = row.createCell((short) 2); 

        cell.setCellValue("SFGYPP"); 

        cell.setCellStyle(style); 

        cell = row.createCell((short) 3); 

        cell.setCellValue("SJKLX"); 

        cell.setCellStyle(style); 

        cell = row.createCell((short) 4);

        cell.setCellValue("JSJSL"); 

        cell.setCellStyle(style); 

        cell = row.createCell((short) 5);

        cell.setCellValue("SSSJ"); 

        cell.setCellStyle(style); 

        cell = row.createCell((short) 6);

        cell.setCellValue("XTMC"); 

        cell.setCellStyle(style); 

        cell = row.createCell((short) 7);

       

        for (int i = 0; i < list.size(); i++) 

        { 

          int j =0;

             row = sheet.createRow((int) i + 1); 

             DataEntity dataEntity = (DataEntity) list.get(i); 

             // 第四步,创建单元格,并设置值  

             row.createCell((short) j++).setCellValue(dataEntity.getSx()); 

             row.createCell((short) j++).setCellValue(dataEntity.getDWMC());

             row.createCell((short) j++).setCellValue(dataEntity.getSfgypp());

             row.createCell((short) j++).setCellValue(dataEntity.getSjklx());

             row.createCell((short) j++).setCellValue(dataEntity.getJsjsl());

             row.createCell((short) j++).setCellValue(dataEntity.getSssj());

             row.createCell((short) j++).setCellValue(dataEntity.getXtmc());

        }

       

        // 第六步,将文件存到指定位置  

        try 

         { 

        //   OutputStream outp=response.getOutputStream();

             ServletOutputStream outp =  response.getOutputStream();

    outp.flush();

    wb.write(outp); 

    outp.close();

    response.flushBuffer();

    out.clear();

    out=pageContext.pushBody(); 

          } 

         catch (Exception e) 

         { 

             e.printStackTrace(); 

         }

 }
 

 

 %>

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  excel