前端导出&配置问题
2024-10-08 04:22:43
<button class="search" onclick="method5('dataTable');">导出</button> 在表格内需要绑定相对应的id
js操作
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 method5(tableid) {
console.log(tableid)
if(getExplorer() == 'ie') {
var curTbl = document.getElementById(tableid);
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var xlsheet = oWB.Worksheets(1);
var sel = document.body.createTextRange();
sel.moveToElementText(curTbl);
sel.select();
sel.execCommand("Copy");
xlsheet.Paste();
oXL.Visible = true; 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);
oXL.Quit();
oXL = null;
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]-->'+
' <style type="text/css">'+
'.excelTable {'+
'border-collapse:collapse;'+
' border:thin solid #999; '+
'}'+
' .excelTable th {'+
' border: thin solid #999;'+
' padding:20px;'+
' text-align: center;'+
' border-top: thin solid #999;'+
' background-color: #E6E6E6;'+
' }'+
' .excelTable td{'+
' border:thin solid #999;'+
' padding:2px 5px;'+
' text-align: center;'+
' }</style>'+
'</head><body ><table class="excelTable">{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) {
console.log(table)
if(!table.nodeType)
table = document.getElementById(table)
var ctx = {
worksheet: name || 'Worksheet',
table: table.innerHTML
}
var link = document.createElement("a");
link.href = uri+base64(format(template, ctx));
link.download = "信息发布情况表.xls";//当前下载的excel名称
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
})()
最新文章
- 页面制作之HTML
- 【记录】VS2012新建MVC3/MVC4项目时,报:此模板尝试加载组件程序集“NuGet.VisualStudio.Interop...”
- 程序集与反射技术(C#)
- Workflow中InArgument与OutArgument区别
- 基于Attribute的Web API路由设置
- Macbook Pro安装win7
- linux重启命令学习
- hdu3986 spfa+枚举
- POJ1088滑雪(记忆化搜索+DFS||经典的动态规划)
- node.js的作用、回调、同步异步代码、事件循环
- 【HDOJ】2065 ";红色病毒";问题
- MVC+Spring.NET+NHibernate .NET SSH框架整合
- 制作流程图,activity,好不容易找到的
- 区块链共识机制(POW、POS、DPOS等)的优缺点
- SpringBoot进阶教程(二十四)整合Redis
- navigator的一些冷知识
- Unity 和android 交互 记录
- CSS的优先级和继承问题
- 详谈再论JAVA获取本机IP地址
- python小实例一:简单爬虫
热门文章
- 【Leetcode链表】反转链表 II(92)
- hibernate 出现Caused by: java.sql.SQLException: Column &#39;id&#39; not found.异常
- shell不排序去重
- LocalDate、LocalDateTime与timestamp、Date的转换
- ImportError: No module named libqt_gui_cpp_shiboken
- BigData NoSQL —— ApsaraDB HBase数据存储与分析平台概览
- thinkphp3.2配置redis缓存和文件缓存
- python selenium 处理悬浮窗口(baidu tj_more)
- jasperReports 通过java导出各种格式报表,及javaweb项目整合显示各种报表
- 2018-5-28-win10-uwp-动态修改ListView元素布局