js table表格导出Excel 设置文件名称
一、table表格导出
<!DOCTYPE html>
<html>
<head lang="en"> <meta charset="UTF-8"> <title>表格导出</title> <script language="JavaScript" 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';}//Chromeelse if(explorer.indexOf("Chrome") >= 0){return 'Chrome';}//Operaelse if(explorer.indexOf("Opera") >= 0){return 'Opera';}//Safarielse 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 filename="统计报告"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><meta charset="UTF-8"><!--[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)) //无需设置文件名,打开,去掉下面代码var a = document.createElement("a");a.download = filename;a.href = uri + base64(format(template, ctx));document.body.appendChild(a);a.click();document.body.removeChild(a);}
})();</script>
</head>
<body> <div > <button onclick="javascript:method1('tableExcel')">导出EXCEL</button>
</div>
<div id="myDiv">
<table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td colspan="5" align="center">表格导出Excel</td> </tr> <tr> <td>列标题</td><td>列标题</td><td>列标题</td><td>列标题</td><td>列标题</td> </tr> <tr> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td rowspan="2">1</td> <td>1</td> <td>1</td> <td colspan="2">1</td></tr> <tr> <td>1</td> <td>1</td> <td>1</td> <td>1</td> </tr>
</table>
</div>
</body>
</html>
二 设置表格样式
template变量添加样式
template=
// 在这里自定义table样式,可以将样式导出到excal表格' <style type="text/css">' +'table td,table th {' +' text-align: center;' +' }' +'</style>' +'</head><body><table>{table}</table></body></html>'
js table表格导出Excel 设置文件名称相关推荐
- js 使用前端导出excel,设置标题和页脚,实现特殊表格需求
js前端导出excel,网上的例子很多,大部分都是使用如下代码: //统计导出$scope.statisExport=function(){toOutPutExcel('statisTable', ' ...
- elementui中有导出组件吗_Element-ui组件库Table表格导出Excel表格
安装 npm install --save xlsx file-saver 两个插件的详细地址在下面 https://github.com/SheetJS/js-xlsx https://github ...
- 利用poi实现table表格导出excel
思路:把table转成json数据传到后台(需要用到jquery.tabletojson.min.js),json转成list<list<String>>类型.利用poi导出e ...
- 把table表格导出为excel文件
<script type="text/javascript">/* 把html table表格导出为excle文件使用方法:<a href="javaS ...
- 前端复杂表格导出excel,一键导出 Antd Table 看这篇就够了(附源码)
前端导出 excel 的需求很多,但市面上好用的库并不多,讲明白复杂使用场景的文章更少. 本文将以文字 + demo 源码的形式,力求讲清楚满足 99% 使用场景的终极 excel 导出方案. 如果项 ...
- 纯前端js(或者vue)导出excel实现:合并单元格、设置单元格样式、单元格内换行
前提是安装xlsx,已经可以导出普通的excel npm install --save xlsx file-saver 然后需要安装 npm install xlsx-style 如果运行的时候报错 ...
- jQuery表格导出Excel文件以及网页内容导出Word文档
前言: 我在这里给大家介绍一下我们能用代码实现的最简单的两种转换为Excel文件以及Word文档的方法. jQuery表格导出Excel文件 先来看看我们的层级划分: 如图所示: demo.css 代 ...
- js将excel转为html,js中表格转为excel文件如何实现多sheet形式
js中表格转为excel文件如何实现多sheet形式 var idTmr; function getExplorer() { var explorer = window.navigator.userA ...
- 导出Excel设置名称为中文
JAVA 导出Excel设置名称为中文 核心:URLEncoder.encode(名称, "UTF-8"); 设置编码 String exportFileName ="测 ...
最新文章
- Docker 常见问题
- 汇编语言--通用寄存器
- 摄像头动态锁定(Python)
- C#中提示:可访问性不一致:参数类型XXX比方法XXX的可访问性低
- 软考-信息系统项目管理师-项目合同管理
- 【Tools】虚拟串口工具之VSPD10
- linux安装mysql5.7.19
- mysql mydump还原_用mydump对所有数据库进行备份,还原具体案例
- 三星U-Boot-1.1.6源码分析lowlevel_init.S (board\samsung\smdk6410)
- Swift - 多线程实现方式(3) - Grand Central Dispatch(GCD)
- vue全屏组件vue-fullscreen使用
- 【机器学习】一文彻底搞懂自动机器学习AutoML:H2O
- 中国水煤浆行业“十四五”规划与运营模式分析报告2022~2028年
- 大数据就业前景如何? 你看连学术打假都用得上!
- 电脑win7蓝屏没有修复计算机,手把手教你win7蓝屏如何修复
- C语言坐标旋转,c语言矩阵的顺、逆时针旋转
- Enterprise Architect Professional操作系统特性和功能
- 引用类型作为函数的返回类型
- 关于DXP的规则检查中Un-Rounted Net Constraint问题
- cocos2dx 背包界面的实现