HTML Table导出为Excel的方法

HTML Table导出为Excel的方法:

直接上源码

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" language="javascript">
        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 method1(tableid) {//整个表格拷贝到EXCEL中
            if(getExplorer()==‘ie‘)
            {
                var curTbl = document.getElementById(tableid);
                var oXL = new ActiveXObject("Excel.Application");

                //创建AX对象excel
                var oWB = oXL.Workbooks.Add();
                //获取workbook对象
                var xlsheet = oWB.Worksheets(1);
                //激活当前sheet
                var sel = document.body.createTextRange();
                sel.moveToElementText(curTbl);
                //把表格中的内容移到TextRange中
                sel.select();
                //全选TextRange中内容
                sel.execCommand("Copy");
                //复制TextRange中内容
                xlsheet.Paste();
                //粘贴到活动的EXCEL中
                oXL.Visible = true;
                //设置excel可见属性

                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);
                    //xls.visible = false;
                    oXL.Quit();
                    oXL = null;
                    //结束excel进程,退出完成
                    //window.setInterval("Cleanup();",1);
                    idTmr = window.setInterval("Cleanup();", 1);

                }
            }
            else
            {
                tableToExcel(tableid)
            }
        }
        function Cleanup() {
            window.clearInterval(idTmr);
            CollectGarbage();
        }
        var tableToExcel = (function() {
              var uri = ‘data:application/vnd.ms-excel;base64,‘,
              template = ‘<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{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) {
                if (!table.nodeType) table = document.getElementById(table)
                var ctx = {worksheet: name || ‘Worksheet‘, table: table.innerHTML}
                window.location.href = uri + base64(format(template, ctx))
              }
            })()
</script>

</head>
<body>
<table width="100%" cellspacing="0" cellpadding="0" border="1px" bgcolor="#fff" align="center" id="test">
  <tr>
    <th width="10%">调查案例</th>
    <th width="10%">公司名称</th>
    <th width="10%">地  址</th>
    <th width="5%">部门</th>
    <th width="5%">联系人</th>
    <th width="10%">联系方式</th>
    <th width="20%">具體情况</th>
    <th width="20%">问券填写</th>
    <th width="10%">提交时间</th>
  </tr>
</table>
<input id="Button1" type="button" value="导出EXCEL"
        onclick="javascript:method1(‘test‘)" style="padding:5px;margin-top:20px;"/>
</body>
</html>

-完-

时间: 2024-11-07 13:55:41

HTML Table导出为Excel的方法的相关文章

将table导出为Excel的标准无乱码写法

导出为Excel有很多种写法,对于一些复杂的格式,笔者喜欢在后台先拼成一个<table>,再使用Response输出. 如果数据中包含中文或者一些特殊字符,可很多不规范的写法都会导致页面乱码,这里就把一种(笔者认为)最标准的格式带给大家: Page p = HttpContext.Current.Handler as Page; p.Response.Clear(); p.Response.Buffer = true; p.Response.Charset = "UTF-8"

html页面里table导出为excel

只要想不到,没有做不到,一直都不知道html里table元素可直接导出为excel,太牛逼了! 这其中用到一个jquery的插件table2excel 使用方法也很简单: 1 . 包含必要的文件 <script src="src/1.11.1/jquery.min.js"></script> <script src="src/jquery.table2excel.js"></script> 2. 创建导出按钮 <

MySQL要导出成excel的方法

MySQL 要导出成 excel 文件很简单,执行类似这样的命令: select * from 某个表 into outfile  'd:/文件名.xls'; 上述命令你在服务器上执行,就导在服务器 D: 盘,若在客户端命令行方式执行,就导在客户端 D :盘 ,若在客户端通过 POST 方式执行,则导在服务器 D:盘.能导成功的大前提是你有登录权限 ,要有 select 权限,而且还要有 file 权限,如果没有 file 权限,你将无法执行 select ....into outfile 和

C# 将内存中的datatable数据导出为Excel(方法二,创建Excel对象导出)【转载】

上次写了一个用文件流方式将Datatable导出Excel的方法,这个方法有局限性,比如没法对Excel进行一些增加列颜色等简单的操作,现在,给大家介绍另外一种方法,用微软的Excel类.既然要用到类,那必须是你的机子要装上Excel才行呢. public  void DataTabletoExcel(System.Data.DataTable[] tmpDataTable,string date1,string date2) { string saveFileName = ""; S

php将数据库导出成excel的方法

<?php $fname = $_FILES['MyFile']['name']; $do = copy($_FILES['MyFile']['tmp_name'],$fname); if ($do) { echo"导入数据成功<br>"; } else { echo ""; } ?> <form ENCTYPE="multipart/form-data" ACTION="<?php echo&quo

直接把页面的table导出到excel表中

前台HTML 1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ReLoadLogin.aspx.cs" Inherits="ReLoadLogin" %> 2 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.

html table导出到Excel中,不走后台,js完成

静态表格table <table class="table tableStyles" id="tables"> <caption>不正经的统计表</caption><!--可以生成表格的标题--> <thead> <tr> <th>品牌</th> <th>门店</th> <th>本周回访</th> <th>本月回

asp中把数据导出为excel的方法

< % dim s,sql,filename,fs,myfile,x   Set fs = server.CreateObject("scripting.filesystemobject") '--假设你想让生成的EXCEL文件做如下的存放 filename = Server.MapPath("order.xls") '--如果原来的EXCEL文件存在的话删除它 if fs.FileExists(filename) then    fs.DeleteFile(

js导出table中的EXCEL总结

导出EXCEL一般是用PHP做,但是项目中,有时候PHP后端工程师返回的数据不是我们想要的,作为前端开发工程师,把对应的数据编号转换为文字后,展示给用户,但是,需求要把数据同时导出一份EXCEl.无奈之下,我只能用js导出table中的数据了. 导出EXCEl一般是自己人用的,所以用js导出,因为js导出EXCEL一般情况下兼容性不是很好,很多只是兼容IE浏览器,还要设置在工具栏中进行设置才能导出,因为会相对比较烦.下面介绍几种方法: 一.js导出EXCEl带单元格合并[已验证,比较好用] //