js导出表格到excel(合并头)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="table1">
<div class="tbHeadFix">
<div class="theadDiv" id="table1_theadDiv"> <div class="theadDivBox">
<table id="ta">
<thead>
<tr class="font-size-12 tr_head" >
<th rowspan="2">
<div class="col col0">品号</div>
</th>
<th rowspan="2">
<div class="col col2">客户</div>
</th>
<th colspan="2">
<div class="col col3">1月</div>
</th>
<th colspan="2">
<div class="col col4">2月</div>
</th>
<th colspan="2">
<div class="col col5">3月</div>
</th>
<th colspan="2">
<div class="col col6">4月</div>
</th>
<th colspan="2">
<div class="col col7">5月</div>
</th>
<th colspan="2">
<div class="col col8">6月</div>
</th>
<th colspan="2">
<div class="col col9">7月</div>
</th>
<th colspan="2">
<div class="col col10">8月</div>
</th>
<th colspan="2">
<div class="col col11">9月</div>
</th>
<th colspan="2">
<div class="col col12">10月</div>
</th>
<th colspan="2">
<div class="col col13">11月</div>
</th>
<th colspan="2">
<div class="col col14">12月</div>
</th>
<th colspan="2">
<div class="col col15">小计</div>
</th>
</tr>
<tr class="font-size-12 tr_head" >
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
</tr>
</thead>
<tbody>
<tr class="font-size-12 tr_head" >
<th rowspan="2">
<div class="col col0">品号</div>
</th>
<th rowspan="2">
<div class="col col2">客户</div>
</th>
<th colspan="2">
<div class="col col3">1月</div>
</th>
<th colspan="2">
<div class="col col4">2月</div>
</th>
<th colspan="2">
<div class="col col5">3月</div>
</th>
<th colspan="2">
<div class="col col6">4月</div>
</th>
<th colspan="2">
<div class="col col7">5月</div>
</th>
<th colspan="2">
<div class="col col8">6月</div>
</th>
<th colspan="2">
<div class="col col9">7月</div>
</th>
<th colspan="2">
<div class="col col10">8月</div>
</th>
<th colspan="2">
<div class="col col11">9月</div>
</th>
<th colspan="2">
<div class="col col12">10月</div>
</th>
<th colspan="2">
<div class="col col13">11月</div>
</th>
<th colspan="2">
<div class="col col14">12月</div>
</th>
<th colspan="2">
<div class="col col15">小计</div>
</th>
</tr>
<tr class="font-size-12 tr_head" >
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
<th>
<div class="mcol">预算</div>
</th>
<th>
<div class="mcol">决算</div>
</th>
</tr>
</tbody>
</table>
</div>
</div> <!--表格1结束-->
<button onclick="javascript:method1('ta')">导出EXCEL</button>
<script type="text/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('ta');
}
}
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>
</body>
</html>
js导出表格到excel(合并头)的更多相关文章
- 【js】js导出表格到excel
js: function method(tableid) //读取表格中每个单元到EXCEL中 { var curTbl = document.getElementById(tableid); var ...
- java代码导出数据到Excel、js导出数据到Excel(三)
jsp内容忽略,仅写个出发按钮: <button style="width: 100px" onclick="expertExcel()&quo ...
- JS导出、导入EXCEL(案例)
插件下载地址:http://oss.sheetjs.com/js-xlsx/xlsx.full.min.js 1.导出excel <!DOCTYPE html> <html> ...
- Vue 导出表格为Excel
放法有多种,我这里是直接转JSON数据为Excel. 1.既然要使用,那首先当然是安装依赖,在终端命令输入: npm install -S file-saver xlsx npm install -D ...
- JS 导出Table为excel的三种可行方法
[html] view plain copy<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...
- qt技巧--使用html导出表格替代excel
曾经为qt不能直接导出excel而困扰,后来经过深入了解,得知qt支持xml国际语言,html是xml的一种.html是做网页的,相信大家比较熟悉.所以使用html的<table ...
- php JS 导出表格特殊处理
但是这样导出身份证号会变为科学计数: 解决方法就是: 我们了解一下excel从web页面上导出的原理.当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取 它,所以把mi ...
- [转]纯js导出json到excel(支持chrome)
转自:http://blog.csdn.net/educast/article/details/52775559 function JSONToExcelConvertor(JSONData, Fil ...
- js导出表格数据
考虑到浏览器兼容性问题,采用原生js和后台交互下载网页数据 js: var table = $('.table-panel table'); // Header var tdData ="& ...
- js导出table到excel,同时兼容FF和IE
前台调用(第一个参数是table的id): <input value="导出" type="button" /> function toExcel( ...
随机推荐
- gitignore文件中忽略项不起作用的解决方法
在使用git的时候会遇到这样的情况,我们生产的一些class或者target的目录,我不能提交,这个时候我们需要使用gitignore,但是有的时候虽然添加了,但是不起作用. 情况:开发过程中,我们自 ...
- 九、Lambda、正则表达式
Lambda表达式 只能简化函数式接口的匿名内部类!!!函数式接口:有且仅有一个抽象方法的接口.有@FunctionalInterface的注解的接口就必定是函数式接口. 正则表达式 单字符类 预定义 ...
- 蓝牙mesh组网实践(环境监测传感器应用)
目录 蓝牙mesh组网中的低功耗节点,在应用于低频率上传数据的传感器网络时有着得天独厚的功耗优势,在1min唤醒上传一包的情况下ch582的平均功耗仅有12uA,若每小时甚至每天采样一次数据并上传,平 ...
- Kubernetes 1.26.0 集群部署Prometheus监控
前言 该存储库收集 Kubernetes 清单.Grafana仪表板和Prometheus 规则,结合文档和脚本,使用Prometheus Operator提供易于操作的端到端 Kubernetes ...
- CentOS 7.9 环境下部署 Nginx 服务
sudo setenforce Permissive sudo vi /etc/selinux/config SELINUX=permissive sudo systemctl stop firewa ...
- redis的安装详细教程
redis官方下载地址是:https://redis.io/download, redis 64位下载地址是:https://github.com/ServiceStack/redis-windows ...
- 教你快速理解Linux虚拟化网络的全脉络,正确配置网络联通性。
https://www.bilibili.com/video/BV1iy4y177f4?p=12 实用的干货快先码起来,说不定以后会用到哟
- IEEE 802.66( WiMax)的衰亡
1.什么是WiMax WiMAX全称为,World Interoperability for Microwave Access,即全球微波接入互操作性,是一项基于IEEE 802.16标准的宽带无线接 ...
- SQL Server修改表的时候出现错误:未更新任何行,未删除任何行
无论点击什么,一直报错:未更新任何行,未删除任何行,就差点砸电脑啦. 参考这个大神才解决的问题: https://blog.csdn.net/weixin_44690047/article/detai ...
- Android学习——控件ProgressBar
1.常用属性