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( ...
随机推荐
- ERNIE1-2
ERNIE1.0 ERNIE: Enhanced Representation through Knowledge Integration提出了三种级别的masking:(1)word piece级别 ...
- vue项目去掉网页滚动条
点击查看代码 <template> <div id="app"> <router-view /> </div> </templ ...
- 7.Object
Object类 超类.基类,所以类的直接或间接父类,位于继承树的最顶层 任何类,如没有书写extends显示继承某个类,都默认直接继承Object类,否则为间接继承 Object类中所定义的方法,是所 ...
- kafak学习总结
高可用 多副本机制: 主副本和从副本,从副本只负责同步主副本数据,只有主副本进行读写. 高并发 网络结构设计 多路复用 多selector -> 多线程-> 多队列 高性能 写 把数据先写 ...
- 【转载】C++标准库容器与C#容器对比
转载自栈他喵的又溢出了 我简单的整理一下,方便观看: C#容器 C++容器 备注 Array C array .net的Array可以是非0起始索引(鸡肋?查了一下,用Array.CreateInst ...
- python菜鸟学习: 14. GUI界面化使用
# 获取输入框中的内容 def getVars(): global outterDomain1, innertDomian1, guestEid1, appName1, unicodeName1, r ...
- js 俄罗斯方块 canvas
俄罗斯方块背景- canvans 第一次写不知道说些什么好,直接上代码了@_@... jquery引入 <script src="https://cdn.bootcdn.net/aja ...
- slitaz5安装vim,sakura终端命令行打不开
刚开始安装了vim后,vim提示libtinof.so.6打不开.在网上查,发现可能是库缺少.然后查看了依赖库文件 ldd /usr/bin/vim 发现果然缺少了 libncurses.so.6 的 ...
- webpack的加载器兼容配置一览
"devDependencies": { "css-loader": "^3.2.1", "file-loader": ...
- [1] Multi-View Transformer for 3D Visual Grounding 论文精读
参考: https://zhuanlan.zhihu.com/p/467913475 3D Visual Grounding小白调研笔记 https://zhuanlan.zhihu.com/p/34 ...