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( ...
随机推荐
- iOS开发之将GIF存储本地相册
#import <AssetsLibrary/AssetsLibrary.h> 1.引用库 2.将GIF图片转为NSData类型 3.存储代码 ALAssetsLibrary *libra ...
- K8S的 POD 生命周期
pod的生命周期是从创建至终止的这段时间范围 Pod的创建 1.用户通过kubectl或其他api客户端提交需要创建的pod信息给apiServer 2.apiServer开始生成pod对象的信息,并 ...
- 支持批量图片转文字的【OCR】文字识别工具,支持截图识别,速度快,准确度高,免费OCR,开源软件
想必大家偶尔也有需要从图片中提取文字的需求,虽然现在手机上都自带了拍照识别功能,可是从电脑上的图片传到手机识别再将结果发回来实 在是有点麻烦,尤其当图片数量较多时,更是费时费力,使用网页版工具又要面临 ...
- Unity 保存截图功能
1.下面是实现代码 using System.Collections; using System.Collections.Generic; using UnityEditor; using Unity ...
- Unity简单使用 Addressables远端打包流程
跟着一步步操作即可 1.先打开一个unity项目 2.导入插件资源包地址,点击如图片所示 3.最后点击导入就行了也就是第三步 Install 4.这是在点击 Window 安装后Window/多了一个 ...
- ubuntu18.04 安装cython_bbox
方式一: pip install cython_bbox 方式二:下载地址 https://github.com/samson-wang/cython_bbox 解压后并cd cython_bbox- ...
- JQery easyUI 滚动分页
var s1 = new Date().getTime(); $(document).ready(function(){ var flag = true; //鼠标 ...
- 小白之Python-基础中的基础05
Python-基础中的基础05 --之元组 #元组:不可变更1. 创建元组:元组必须用,表示,只加()是不行的 print 42 print (42) print 43, #这个地方会把下一行的内容打 ...
- 【当年笔记】Collection集合部分
集合继承关系图 1)Vector 特点:线程安全,消耗偏大 2)ArrayList 特点:基于数组实现,随机访问某个元素效率高.集和头尾之间包括头插入删除操作效率较低,因为插入元素后,其他元素要后移. ...
- 问题记录_IDEA启动报错:Failed to create JVM. JVM Path
问题记录_IDEA启动报错:Failed to create JVM. JVM Path 起因 下午写代码的时候感觉IDEA有点卡,不应该啊,我16G咋回卡呢,分配的内存也不小,于是又去加大内存分配, ...