仅限于IE的将table中的数据导入导出excel

js导出数据到excel,兼容ie浏览器 建立Excle导出的js文件,在需要前台导出的页面中引用此js,调用methodExcel(tableid)方法,tableid为需要导出到excel的table表id。 将页面上的table显示内容复制到excel中,只能导出本页数据,如果是分页数据的话,不能导出下一页的内容。 此方法适用于复杂表头的简单内容导出,对google内核支持较好。 测试发现IE9无法兼容,需要设置安全等级,已作出页面... 阅读详情

仅限于IE 需要兼容火狐的同学 建议在后台使用jxl.jar来实现

导入:

<html xmlns=" http://www.w3.org/1999/xhtml" >
<head>
     <title>Untitled Page</title>
</head>
<script language="javascript" type="text/javascript">
function importXLS(fileName)
{  
     objCon = new ActiveXObject("ADODB.Connection");
     objCon.Provider = "Microsoft.Jet.OLEDB.4.0";
     objCon.ConnectionString = "Data Source=" + fileName + ";Extended Properties=Excel 8.0;";
     objCon.CursorLocation = 1;
     objCon.Open;
     var strQuery;
     //Get the SheetName
     var strSheetName = "Sheet1$";
     var rsTemp =   new ActiveXObject("ADODB.Recordset");
     rsTemp = objCon.OpenSchema(20);
     if(!rsTemp.EOF)
     strSheetName = rsTemp.Fields("Table_Name").Value;
     rsTemp = null;
     rsExcel =   new ActiveXObject("ADODB.Recordset");
     strQuery = "SELECT * FROM [" + strSheetName + "]";
     rsExcel.ActiveConnection = objCon;
     rsExcel.Open(strQuery);
     while(!rsExcel.EOF)
     {
     for(i = 0;i<rsExcel.Fields.Count;++i)
     {
     alert(rsExcel.Fields(i).value);
     }
     rsExcel.MoveNext;
     }
     // Close the connection and dispose the file
     objCon.Close;
     objCon =null;
     rsExcel = null;
}
</script>
</head>
<body>
<input type="file" id="f" />
<input type="button" id="b" value="import" onclick="if(f.value=='')alert('请选择xls文件');else importXLS(f.value)" />
</body>
</html>



--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
导出: 
 <!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 http-equiv="Content-Type" content="text/html; charset=gbk"/>  
        <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>  
    <input type="button" onclick="javascript:method1('tableExcel');" value="第一种方法导入到EXCEL">  
    <input type="button" onclick="javascript:method2('tableExcel');" value="第二种方法导入到EXCEL">  
    <input type="button" onclick="javascript:getXlsFromTbl('tableExcel',null);" value="第三种方法导入到EXCEL">  
      
    <SCRIPT LANGUAGE="javascript">  
    function method1(tableid) {//整个表格拷贝到EXCEL中  
        var curTbl = document.getElementById(tableid);  
        var oXL = new ActiveXObject("Excel.Application");  
        //创建AX对象excel  
        var oWB = oXL.Workbooks.Add();  
        //获取workbook对象  
        var oSheet = oWB.ActiveSheet;  
        //激活当前sheet  
        var sel = document.body.createTextRange();  
        sel.moveToElementText(curTbl);  
        //把表格中的内容移到TextRange中  
        sel.select();  
        //全选TextRange中内容  
        sel.execCommand("Copy");  
        //复制TextRange中内容   
        oSheet.Paste();  
        //粘贴到活动的EXCEL中        
        oXL.Visible = true;  
        //设置excel可见属性  
    }  
      
    function method2(tableid) //读取表格中每个单元到EXCEL中  
    {  
        var curTbl = document.getElementById(tableid);  
        var oXL = new ActiveXObject("Excel.Application");  
        //创建AX对象excel  
        var oWB = oXL.Workbooks.Add();  
        //获取workbook对象  
        var oSheet = oWB.ActiveSheet;  
        //激活当前sheet  
        var Lenr = curTbl.rows.length;  
        //取得表格行数  
        for (i = 0; i < Lenr; i++)  
        {  
            var Lenc = curTbl.rows(i).cells.length;  
            //取得每行的列数  
            for (j = 0; j < Lenc; j++)  
            {  
                oSheet.Cells(i + 1, j + 1).value = curTbl.rows(i).cells(j).innerText;  
                //赋值  
            }  
        }  
        oXL.Visible = true;  
        //设置excel可见属性  
    }  
      
    function getXlsFromTbl(inTblId, inWindow) {  
        try {  
            var allStr = "";  
            var curStr = "";  
            //alert("getXlsFromTbl");  
            if (inTblId != null && inTblId != "" && inTblId != "null") {  
                curStr = getTblData(inTblId, inWindow);  
            }  
      
            if (curStr != null) {  
                allStr += curStr;  
            }  
            else {  
                alert("你要导出的表不存在!");  
                return;  
            }  
      
            var fileName = getExcelFileName();  
            doFileExport(fileName, allStr);  
        }  
        catch(e) {  
            alert("导出发生异常:" + e.name + "->" + e.description + "!");  
        }  
    }  
      
    function getTblData(inTbl, inWindow) {  
        var rows = 0;  
        //alert("getTblData is " + inWindow);  
        var tblDocument = document;  
        if (!!inWindow && inWindow != "") {  
            if (!document.all(inWindow)) {  
                return null;  
            }  
            else {  
                tblDocument = eval(inWindow).document;  
            }  
        }  
      
        var curTbl = tblDocument.getElementById(inTbl);  
        var outStr = "";  
        if (curTbl != null) {  
            for (var j = 0; j < curTbl.rows.length; j++) {  
                //alert("j is " + j);  
                for (var i = 0; i < curTbl.rows[j].cells.length; i++) {  
                    //alert("i is " + i);  
                    if (i == 0 && rows > 0) {  
                        outStr += " \t";  
                        rows -= 1;  
                    }  
                    outStr += curTbl.rows[j].cells[i].innerText + "\t";  
                    if (curTbl.rows[j].cells[i].colSpan > 1) {  
                        for (var k = 0; k < curTbl.rows[j].cells[i].colSpan - 1; k++) {  
                            outStr += " \t";  
                        }  
                    }  
                    if (i == 0) {  
                        if (rows == 0 && curTbl.rows[j].cells[i].rowSpan > 1) {  
                            rows = curTbl.rows[j].cells[i].rowSpan - 1;  
                        }  
                    }  
                }  
                outStr += "\r\n";  
            }  
        }  
        else {  
            outStr = null;  
            alert(inTbl + "不存在!");  
        }  
        return outStr;  
    }  
      
    function getExcelFileName() {  
        var d = new Date();  
        var curYear = d.getYear();  
        var curMonth = "" + (d.getMonth() + 1);  
        var curDate = "" + d.getDate();  
        var curHour = "" + d.getHours();  
        var curMinute = "" + d.getMinutes();  
        var curSecond = "" + d.getSeconds();  
      
        if (curMonth.length == 1) {  
            curMonth = "0" + curMonth;  
        }  
        if (curDate.length == 1) {  
            curDate = "0" + curDate;  
        }  
        if (curHour.length == 1) {  
            curHour = "0" + curHour;  
        }  
        if (curMinute.length == 1) {  
            curMinute = "0" + curMinute;  
        }  
        if (curSecond.length == 1) {  
            curSecond = "0" + curSecond;  
        }  
       
        var fileName = "leo_zhang" + "_" + curYear + curMonth + curDate + "_" + curHour + curMinute + curSecond + ".csv";  
        //alert(fileName);  
        return fileName;  
    }  
       
    function doFileExport(inName, inStr) {  
        var xlsWin = null;  
        if (!!document.all("glbHideFrm")) {  
            xlsWin = glbHideFrm;  
        }  
        else {  
            var width = 6;  
            var height = 4;  
            var openPara = "left=" + (window.screen.width / 2 - width / 2)  
                    + ",top=" + (window.screen.height / 2 - height / 2)  
                    + ",scrollbars=no,width=" + width + ",height=" + height;  
            xlsWin = window.open("", "_blank", openPara);  
        }  
      
        xlsWin.document.write(inStr);  
        xlsWin.document.close();  
        xlsWin.document.execCommand('Saveas', true, inName);  
        xlsWin.close();  
    }  
      
    </SCRIPT>  
    </body>  
    </html> 

解决jQuery.table2excel.js导出兼容IE问题 解决jQuery.table2excel.js导出兼容IE问题  之前在网上一直没找到解决办法,或者并无相关参考。所以自己进插件源码边调试边修改,终于功夫不负有心人。 在table2Excel.js里面有这个一段判断是IE浏览器的代码 if (typeof msie !== "undefined" && msie > 0 || !!navigator.userAgent.match(/T 阅读详情

相关推荐

实现table数据到Excel的高效导出

在前端实现数据导出,最常用的技术之一是利用JavaScript库,如,它能够读取HTML表格中的数据并使用浏览器的Blob对象生成下载链接。后端则可能涉及生成实际的Excel文件,如使用xlsx或者exceljs库来创建.xlsx或.xls文件。Table2Excel插件是一个基于jQuery的工具,它允许用户将HTML表格转换成Excel文件。它非常适合那些需要将网页表格数据导出为Excel格式的场景。

weixin_35761094的博客 1171

完整版兼容ie9的table导出到excel

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33736048的博客 761

IE下将table导出成excel

html导出excel 下载直接使用以下方法即可导出 method1('tableid')" method2('tableid')" method3('tableid')"

Jsp页面中的table利用ie导出到Excel

在Jsp页面中加上这几句也可以直接将Jsp页面保存为excel <% response.setHeader("Content-disposition","inline; filename=test1.xls"); //以上这行设定传送到前端浏览器时的档名为test1.xls //就是靠这一行,让前端浏览器以为接收到一个excel档 %> 用IE的用户,如果一个ht

lzclyz的专栏 987

IE下面table导出excel

IE下面table导出excel 不用任何插件

table2excel(解决IE下导出{table[0]}的问题)

table表格导出excel插件修改版,解决IE以及兼容模式下导出{table[0]}的问题

table2excel.js兼容ie问题

最近在用table2excel.js导出页面table为Excel时出现在ie浏览器兼容模式下无法导出问题,经多方查找发现如下解决办法: 在html页面中添加<meta http-equiv="X-UA-Compatible"content=“IE=edge” /> 代码即可实现。 X-UA-Compatible简介: X-UA-Compatible是针对IE8新加的一个设置,对于IE...

爬坑手册 1448

最新Excel导出!支持多个DataTable及多个Sheet1导出

非API,是使用Excel计算为XML模式的模版导出,可以在XML文件里做你想要的格式!里面有两个程序,一个是源码一个是使用列子 源码:Foxconn 使用列子:webExcelTest 使用Excel模板导出对经常要导出Excel非常有用!关于如何使用建立模板的可以到我的博客里看 http://blog.youkuaiyun.com/gs0038/archive/2009/11/10/4794375.aspx

layui table 导出excel 兼容IE浏览器

layui自带的excel导出不兼容ie,所以需要自己配置一些东西。 参考:https://fly.layui.com/jie/51262/ 首先下载 layui_exts 下载地址 下载之后将 layui_exts 引入layui 的目录 在toolbar里增加一个导出按钮 也可以在右边的导出图标重写,在table.render 里记得把 toolbar 加进去 <script type="text/html" id="toolbarDemo"> <div class="

qq_40890601的博客 1448

PID控制器(位置式和增量式)

PID控制算法

zhinian_hao的博客 4512

线性调频LFM脉冲压缩 连续波雷达仿真&线性调频信号仿真分析压缩matlab程序源码

13、线性调频信号(LFM)压缩感知的稀疏与重构算法(OMP)的matlab仿真程序(一个可以在matlab上运行的压缩感知实例;8、具有多普勒频移的线性调频信号(知道带宽、采样频率、T使用MATLAB仿真线性调频信号即LFM,同时具有多普勒频移时,匹配滤波后的波形变化。19、CW脉冲和LFM信号Matlab仿真(这是matlab仿真程序,实现了常规雷达信号CW和线性调频信号LFM的仿真)18、lfm信号模糊函数图 matlab(用matlab 实现的线性调频信号信号(lfm)的模糊函数图)

2301_77866396的博客 401

关于bootstrap-table插件导出到Excel ,增加ie8导出方式

1.引入bootstrap-table-export.js 可自己在gitshang下载 2.引入tableExport.js   需要在这个文件中增加一部分代码,用于支持ie8导出,具体添加代码如下:  // Header         $(el).find('thead').first().find(defaults.theadSelector).each(function() {

Java_home5的博客 3914

IB网络下不同租户业务隔离方案

IB(InfiniBand)网络隔离可以在不同的通信模式下实现,其中包括 IPoIB(IP over InfiniBand)通信模式。在 IPoIB 模式下,InfiniBand 网络可以承载 IP 数据包,使得基于 IP 的应用程序能够在 InfiniBand 网络上进行通信。在这种情况下,IB 网络隔离通常指通过配置 Partition Key(PKey)来实现不同的租户或应用程序之间的网络隔离。然而,IB 网络隔离并不仅限于 IPoIB 模式。

guganly的专栏 1529

使用table2excel.js 将页面上的数据 用excel导出 兼容IE 火狐 谷歌浏览器

很好用的excel导出插件,可直接导出页面中数据,简单好用。原table2excel.js 使用火狐 ie导出excel有问题,js代码已修改。 html示例代码 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>html 表格导出&...

leigelg的博客 1169

《UE4游戏开发》之 《查cook资源失败,问题记录》

当项目打包时,cook出错,但是从原始引擎提供的信息中,没有提示具体的那个资源出错,要查到出错资源,还是非常麻烦。 下面就材质cook出错,增加一些日志,方便查找问题做简单记录 材质cook的一个阶段,是收集MaterialShaderMap,如果在这个阶段收集的信息出错,将会在FShaderMapContent::GetOutdatedTypes函数中,因为Shaders指针指向的内存有问题而出错,通过断点发现,FShaderMapContent这个类对象指针为null,而这个类对象的来源于AllMat.

qq_21919621的博客 2581

第十六届蓝桥杯大赛软件赛(编程类)知识点大纲

难度:[1-3]难度:[1-5]难度:[1-3]难度:[2-5]难度:[1-5]

Future_yzx的博客 4113

将Echarts的数据视图展示为table并且导出Excel

Echarts官网示例,用过Echarts的小伙伴都知道,它带有自己很多原生功能,比如简单举例: 想要详细了解可以去官网看配置项,今天主要说一下图中蓝色框的‘数据视图’这个功能,如下是官网上这个功能按钮所展示的数据视图: 现在项目有需求,就是客户既要看到这个折线图,又要看到数据展示,当然这个已经实现展示了,只不过没有样式,要求是整齐的table表格,而且还能导出这个table。 当然方式很多,...

huanhuan03的博客 1万+

银河麒麟编译libjpeg库并配置qt环境

银河麒麟下编译libjpeg库并配置qt环境验证

小米的修行之路 1017

LabWindowsCVI : 将table控件中的数据保存到excel出现卡顿问题解决

将table控件中的数据保存到excel中时,要是数据太多(table控件最大行数100万多一点儿,具体记不清),会出现保存卡顿、未响应的问题;后来使用文件操作的方式保存table中的数据为xls或者txt,发现很快,根本不会出现以上问题: 1)直接保存到excel中,代码如下: reverse(strs,mydata,row); // //A1:ZZ行数 Excel_NewAp...

碎念HK的博客 1756

环形平滑标签(Circular Smooth Label, CSL)技术详解

环形平滑标签(CSL)是一种优化算法,旨在解决旋转目标检测中角度预测的边界问题。通过将角度回归转化为分类任务,并利用窗口函数平滑标签分布,CSL有效处理了角度周期性的梯度突变问题。其核心原理包括角度离散化和平滑标签编码,通过高斯、矩形、三角等窗口函数生成概率分布。CSL在技术实现上涉及标签转换流程、模型结构调整和损失函数优化,显著提升了检测精度和稳定性。在DOTA数据集上的实验表明,CSL在mAP和角度误差方面优于传统方法。应用场景包括遥感图像分析、自动驾驶和工业质检,部署时需注意旋转NMS编译和ONNX导

浩瀚之水的专栏 641

PCB高速信号换层孔新技术:VECS(Vertical Conductive Structure Technology)解析

摘要:垂直导电结构(VeCS)是一种新型PCB互连技术,由平板信号走线和椭圆形接地层构成半同轴结构,相比传统过孔具有显著优势。通过全波仿真和实测验证,VeCS展现出更好的阻抗连续性、更低的插入损耗和回波损耗,以及优异的串扰抑制能力。其椭圆形接地结构能有效隔离电磁干扰,在相同布线密度下远端串扰比传统过孔降低约50%。VeCS制备工艺与传统PCB工艺兼容,无需新增设备,且能实现更高密度互连。测试结果显示,2.5英寸带状线通道中VeCS结构的信号完整性表现明显优于传统过孔,为高速数字系统提供了更可靠的垂直互连解决

小孟同学的博客 202

JS前端将table数据导出为EXCEL

@TOC 数据导出为excel是前端比较常用的功能。笔者近期在网上收集汇总了几种常用的方法,供大家使用。 1、ActiveXObject(“Excel.Application”) 这种方法只能在IE下使用。 优点:参照VBA控制excel对象。(代码不会的可以录制宏) 缺点:引用cell对象太慢,上万行数据导出时间超过2分钟 2、以Table方式导出为html文件。 3、以CSV方式导出。 ...

liufuwu1的博客 3401

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

html将table中的数据导出Excel方法

1. <a>标签的download功能把href指向的文档下载,可在download属性中重命名为.xls <a href="<!--要下载的html的URL-->" download="重命名.xls">导出到Excel</a> 2. IE的做法: <button id="btn">html转Excel</button&...

水月灯花的博客 850

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

JS前端将table导出到excel 兼容谷歌 IE 且保留表格样式

function exportExcel(){ //tb是div 里面包着 table,这里就是取出table的html var lHtml = document.getElementById("tb").innerHTML; //这里重新组成一个你需要的文档,记得要将你需要的table样式复制写入到head头部里否则 //导出来没有表格样式 下面s...

Be a Man Keep fighting for destination 1775

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

layui数据表格table导出所有数据到excel

在用layui自带的table导出excel表的时候发现,分页的时候只能导出当前页的数据。项目中甲方要求导出所有数据,后进行很多解决办法的尝试。 1.刚开始想到有用toobar在表头工具栏自己加一个导出按钮,不用layui设置的导出按钮,用户点击导出按钮的时候,发一个page:1,limit:100000000(将limit设置到足够大,以保证能请求到所有数据)的请求,再通过layui设置的导出...

skye_95的博客 1万+
上一篇: 消除点击超链接 按钮时出现的虚线
下一篇: java使用jxl工具导入导出excel操作
gwpJava
博客等级 码龄14年 11粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值