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

 jsp内容忽略,仅写个出发按钮:

         <button style="width: 100px" οnclick="expertExcel()" >JS导出Excel</button>&nbsp;&nbsp;&nbsp;
        <button style="width: 100px" οnclick="expertWord()" >JS导出Word</button>&nbsp;&nbsp;&nbsp;
        <button style="width: 100px" οnclick="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(); 
         }
 }
 
 
 %>

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值