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


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

             <button style=" 100px" onclick="expertExcel()" >JS导出Excel</button>&nbsp;&nbsp;&nbsp;
            <button style=" 100px" onclick="expertWord()" >JS导出Word</button>&nbsp;&nbsp;&nbsp;
            <button style=" 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();  
             } 
     }
     
     
     %>
     
  • 相关阅读:
    Flutter 步骤进度组件
    程序员到底要不要学习框架、库和工具
    Flutter 吐血整理组件继承关系图
    超过百万的StackOverflow Flutter 问题
    Flutter 实现网易云音乐字幕
    Flutter 实现虎牙/斗鱼 弹幕效果
    Flutter AbsorbPointer 与 IgnorePointer的区别
    《Flutter 小技巧》一行禁用App,一行置灰App,致敬
    Python 任务自动化工具:nox 的配置与 API
    Flask 作者 Armin Ronacher:我不觉得有异步压力
  • 原文地址:https://www.cnblogs.com/chen1-kerr/p/6900081.html
Copyright © 2020-2023  润新知