文档章节

js导出Excel

龙哥ge
 龙哥ge
发布于 2017/07/03 15:57
字数 623
阅读 9
收藏 0

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   
  
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  
<html xmlns="http://www.w3.org/1999/xhtml">  
  
<head>  
    <meta charset="UTF-8">
    <meta http-equiv="Content-Type" content="text/html;"/>  
    <title>WEB页面导出为EXCEL文档的方法</title>  
</head>  
<body>
     
<table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0">  
    <tr>  
        <td colspan="5" align="center">WEB页面导出为EXCEL文档的方法</td>  
    </tr>  
    <tr>  
        <td>列标题1</td>  
        <td>列标题2</td>  
        <td>列标题3</td>  
        <td>列标题4</td>  
        <td>列标题5</td>  
    </tr>  
    <tr>  
        <td>aaa</td>  
        <td>bbb</td>  
        <td>ccc</td>  
        <td>ddd</td>  
        <td>eee</td>  
    </tr>  
    <tr>  
        <td>AAA</td>  
        <td>BBB</td>  
        <td>CCC</td>  
        <td>DDD</td>  
        <td>EEE</td>  
    </tr>  
    <tr>  
        <td>FFF</td>  
        <td>GGG</td>  
        <td>HHH</td>  
        <td>III</td>  
        <td>JJJ</td>  
    </tr>  
</table>  

<table id="tableExcel1" width="100%" border="1" cellspacing="0" cellpadding="0">  
    <tr>  
        <td colspan="4" align="center">妞妞</td>  
    </tr>  
    <tr>  
        <td>列标题1</td>  
        <td>列标题2</td>  
        <td>列标题3</td>  
        <td>列标题5</td>  
    </tr>  
    <tr>  
        <td>AAA</td>  
        <td>BBB</td>  
        <td>CCC</td> 
        <td>EEE</td>  
    </tr>  
    <tr>  
        <td>FFF</td>  
        <td>GGG</td>  
        <td>HHH</td>   
        <td>JJJ</td>  
    </tr>  
</table>


<div class="ww"></div>


<button type="submit" onclick="exec()" class="btn btn-primary">
    <a id="dlink" href="" style="display: none;"></a>导出表格</button>
  
  
<script src="jquery-1.8.3.min.js"></script>
<SCRIPT LANGUAGE="javascript">  

function exec(){
    var tb=$("#tableExcel").html();
    var tb1=$("#tableExcel1").html();
    
    var tabhtml='<table id="tableExcel2" width="100%" border="1" cellspacing="0" cellpadding="0" style="display:block">'+tb+'<tr></tr>'+tb1+'</table>';
    
    
    $(".ww").html(tabhtml);
    
    
    method5('tableExcel2','name','WEB页面导出为EXCEL文档的方法.xls');
    
    
}
var idTmr; 
function  getExplorer() { 
    var explorer = window.navigator.userAgent ; 
    
    //ie 
    if (explorer.indexOf("MSIE") >= 0) { 
        return 'ie'; 
    } 
    //firefox 
    else if (explorer.indexOf("Firefox") >= 0) { 
        return 'Firefox'; 
    } 
    //Chrome 
    else if(explorer.indexOf("Chrome") >= 0){ 
        return 'Chrome'; 
    } 
    //Opera 
    else if(explorer.indexOf("Opera") >= 0){ 
        return 'Opera'; 
    } 
    //Safari 
    else if(explorer.indexOf("Safari") >= 0){ 
        return 'Safari'; 
    } 

function method5(tableid,name,filename) { 
    alert(getExplorer());
    if(getExplorer()=='ie') 
    { 
        var curTbl = document.getElementById(tableid); 
        var oXL; 
        try{  
            oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel  
        }catch(e){  
            alert("无法启动Excel!\n\n如果您确信您的电脑中已经安装了Excel,"+"那么请调整IE的安全级别。\n\n具体操作:\n\n"+"工具 → Internet选项 → 安全 → 自定义级别 → 对没有标记为安全的ActiveX进行初始化和脚本运行 → 启用");  
            return false;  
        }  
        var oWB = oXL.Workbooks.Add(); 
        var xlsheet = oWB.Worksheets(1); 
        var sel = document.body.createTextRange(); 
        sel.moveToElementText(curTbl); 
        sel.select(); 
        sel.execCommand("Copy"); 
        xlsheet.Paste(); 
        oXL.Visible = true; 
   
        try { 
            var fname = oXL.Application.GetSaveAsFilename("Excel.xls", "Excel Spreadsheets (*.xls), *.xls"); 
        } catch (e) { 
            print("Nested catch caught " + e); 
              
        } finally { 
            oWB.SaveAs(fname); 
            oWB.Close(savechanges = false); 
            oXL.Quit(); 
            oXL = null; 
            idTmr = window.setInterval("Cleanup();", 1); 
        } 
   
    } 
    else 
    { 
        tableToExcel(tableid,name,filename) 
    } 

function Cleanup() { 
    window.clearInterval(idTmr); 
    CollectGarbage(); 

var tableToExcel = (function() { 
    var uri = 'data:application/vnd.ms-excel;base64,', 
    template = '<html><head><meta charset="UTF-8"></head><body><table border="1">{table}</table></body></html>', 
    base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) }, 
    format = function(s, c) { 
        return s.replace(/{(\w+)}/g, 
        function(m, p) { return c[p]; }) 
    }
    return function(table, name,filename) { 
        if (!table.nodeType) table = document.getElementById(table) 
        var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML} 
        document.getElementById("dlink").href = uri + base64(format(template, ctx));
        document.getElementById("dlink").download = filename;
        document.getElementById("dlink").click();
    } 
})() 
  
</SCRIPT>  
</body>  
</html>  

© 著作权归作者所有

龙哥ge
粉丝 0
博文 69
码字总数 57107
作品 0
合肥
前端工程师
私信 提问
javascript怎么创建excel的xml数据

打算使用javascript在导出excel,使用思想采用xml转换为excel的思想,先用javascript生成excel的xml数据,然后导出。但是不知道怎么创建excel的xml数据格式?...

opendaima
2012/11/25
293
0
使用C#或javascript将Table里的数据导出到Excel

本方法已经将导出excel做成分部视图,引用时只需在视图中使用如下代码即可: @{ 其中divId为table外层紧连的div的Id,filename为导出的excel名字。本模块使用MVC,以下为Controller部分,其中...

andrewniu
2018/05/24
0
0
Javascript导出Excel的方法

..... 说明第二种方法最好 原文链接:http://blog.csdn.net/21aspnet/article/details/7096052

晨曦之光
2012/03/09
610
0
关于导出Excel的经验求教

最近做了一个项目需要导出Excel,一开始用的是js那种方式。 直接将数据复制到Excel中,后来客户说不行,他们非要用下载文件的方式,于是我又到网上去找,本来一开始想找js导出成文件,但是没有找到...

ForTheFree
2014/11/06
193
4
jqgrid导出excel文档

喜欢的朋友可以关注下,粉丝也缺。 最近一个项目中需要把jqgrid的数据导出成excel文档,所以去查询一下jq的文档,它所提供的接口是需要收费的,当时我就一脸嫌弃的表情。 无奈之举只能自己想...

dsn727455218
2018/04/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
今天
5
0
Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
6
0
hive

一、hive的定义: Hive是一个SQL解析引擎,将SQL语句转译成MR Job,然后再在Hadoop平台上运行,达到快速开发的目的 Hive中的表是纯逻辑表,就只是表的定义,即表的元数据。本质就是Hadoop的目...

霉男纸
今天
5
0
二、Spring Cloud—Eureka(Greenwich.SR1)

注:本系列文章所用工具及版本如下:开发工具(IDEA 2018.3.5),Spring Boot(2.1.3.RELEASE),Spring Cloud(Greenwich.SR1),Maven(3.6.0),JDK(1.8) Eureka: Eureka是Netflix开发...

倪伟伟
昨天
15
0
eclipse常用插件

amaterasUML https://takezoe.github.io/amateras-update-site/ https://github.com/takezoe/amateras-modeler modelGoon https://www.cnblogs.com/aademeng/articles/6890266.html......

大头鬼_yc
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部