使用纯js 不导包实现 table 导出 Excel
1.将js粘贴到项目
2.设置table标签 id
3.定义按钮,调用方法即可
1 <!DOCTYPE html>
2 <html lang="zh_CN">
3 <head>
4 <meta charset="UTF-8">
5 <title>导出Excel</title>
6 </head>
7 <body>
8 <button type="button" onclick="method5('tableExcel')">导出Excel</button>
9 <table border=6 frame=void align=center width=650px height=100px cellspacing=0px cellpadding=10px id="tableExcel">
10 <tr height=50px align=center>
11 <th width=110px></th>
12 <th><font color=blue>星期一</font></th>
13 <th><font color=blue>星期二</font></th>
14 <th><font color=blue>星期三</font></th>
15 <th><font color=blue>星期四</font></th>
16 <th><font color=blue>星期五</font></th>
17 </tr>
18 <tr height=40px align=center>
19 <td></td>
20 <td colspan=5 color=red><font color="red"><b>上午</b></font></td>
21 </tr>
22 <tr height=40px align=center>
23 <td><font color=blue><b>一</b></font></td>
24 <td>数学</td>
25 <td>英语</td>
26 <td>语文</td>
27 <td>文体活动</td>
28 <td>数学</td>
29 </tr>
30 <tr height=40px align=center>
31 <td><font color=blue><b>二</b></font></td>
32 <td>语文</td>
33 <td>美术</td>
34 <td>语文</td>
35 <td>语文</td>
36 <td>语文</td>
37 </tr>
38 <tr height=40px align=center>
39 <td><font color=blue><b>三</b></font></td>
40 <td>体育</td>
41 <td>文体活动</td>
42 <td>文体活动</td>
43 <td>品德与生活</td>
44 <td>英语</td>
45 </tr>
46 <tr height=40px align=center>
47 <td></td>
48 <td colspan=5><font color="red"><b>下午</b></font></td>
49 </tr>
50 <tr height=40px align=center>
51 <td><font color=blue><b>四</b></font></td>
52 <td>品德与生活</td>
53 <td>语文</td>
54 <td>数学</td>
55 <td>体育</td>
56 <td>美术</td>
57 </tr>
58 <tr height=40px align=center>
59 <td><font color=blue><b>五</b></font></td>
60 <td>文体活动</td>
61 <td>体育</td>
62 <td>专题</td>
63 <td>语文</td>
64 <td>语文</td>
65 </tr>
66 <tr height=40px align=center>
67 <td><font color=blue><b>六</b></font></td>
68 <td>兴趣</td>
69 <td>读书活动</td>
70 <td>音乐</td>
71 <td>音乐</td>
72 <td>数学</td>
73 </tr>
74 <tr height=40px align=center>
75 <td><font color=blue><b>七</b></font></td>
76 <td>班队活动</td>
77 <td>课后托管</td>
78 <td>课后托管</td>
79 <td>课后托管</td>
80 <td>课后托管</td>
81 </tr>
82 </table>
83
84 <script>
85 //导出excel
86 var idTmr;
87 function getExplorer() {
88 var explorer = window.navigator.userAgent ;
89 //ie
90 if (explorer.indexOf("MSIE") >= 0) {
91 return 'ie';
92 }
93 //firefox
94 else if (explorer.indexOf("Firefox") >= 0) {
95 return 'Firefox';
96 }
97 //Chrome
98 else if(explorer.indexOf("Chrome") >= 0){
99 return 'Chrome';
100 }
101 //Opera
102 else if(explorer.indexOf("Opera") >= 0){
103 return 'Opera';
104 }
105 //Safari
106 else if(explorer.indexOf("Safari") >= 0){
107 return 'Safari';
108 }
109 }
110 function method5(tableid) {
111 if(getExplorer()=='ie')
112 {
113 var curTbl = document.getElementById(tableid);
114 var oXL = new ActiveXObject("Excel.Application");
115 var oWB = oXL.Workbooks.Add();
116 var xlsheet = oWB.Worksheets(1);
117 var sel = document.body.createTextRange();
118 sel.moveToElementText(curTbl);
119 sel.select();
120 sel.execCommand("Copy");
121 xlsheet.Paste();
122 oXL.Visible = true;
123
124 try {
125 var fname = oXL.Application.GetSaveAsFilename("Excel.xls", "Excel Spreadsheets (*.xls), *.xls");
126 } catch (e) {
127 print("Nested catch caught " + e);
128 } finally {
129 oWB.SaveAs(fname);
130 oWB.Close(savechanges = false);
131 oXL.Quit();
132 oXL = null;
133 idTmr = window.setInterval("Cleanup();", 1);
134 }
135
136 }
137 else
138 {
139 tableToExcel(tableid)
140 }
141 }
142 function Cleanup() {
143 window.clearInterval(idTmr);
144 // CollectGarbage();
145 }
146 var tableToExcel = (function() {
147 var uri = 'data:application/vnd.ms-excel;base64,',
148 template = '<html><head><meta charset="UTF-8"></head><body><table border="1px">{table}</table></body></html>',
149 base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) },
150 format = function(s, c) {
151 return s.replace(/{(\w+)}/g,
152 function(m, p) { return c[p]; }) }
153 return function(table, name) {
154 if (!table.nodeType) table = document.getElementById(table)
155 var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}
156 window.location.href = uri + base64(format(template, ctx))
157 }
158 })();
159 </script>
160 </body>
161 </html>
使用纯js 不导包实现 table 导出 Excel的更多相关文章
- html table表格导出excel的方法 html5 table导出Excel HTML用JS导出Excel的五种方法 html中table导出Excel 前端开发 将table内容导出到excel HTML table导出到Excel中的解决办法 js实现table导出Excel,保留table样式
先上代码 <script type="text/javascript" language="javascript"> var idTmr; ...
- 支持IE,FireFox,Chrome三大主流浏览器,通过js+Flash方式将table导出Excel文件
今天在做项目的时候,遇到了前端下载Excel的功能,结果原先的代码,如下: function generate_excel(tableid) { var table = document ...
- js实现table导出Excel,保留table样式
浏览器环境:谷歌浏览器 1.在导出Excel的时候,保存table的样式,有2种方法,①是在table的行内写style样式,②是在模板里面添加样式 2.第一种方式:行内添加样式 <td sty ...
- ASP如何将table导出EXCEL表格
网页导出excel表格非常常用,对于一些加载<table>的数据网页,经常会用到这种功能,下面和大家分享一下ASP如何导出EXCEL表格 工具/原料 ASP编辑器 方法/步骤 ...
- element ui table 导出excel表格
https://blog.csdn.net/u010427666/article/details/79208145 vue2.0 + element UI 中 el-table 数据导出Excel1. ...
- html中的table导出Excel
演示地址: http://www.jq22.com/yanshi3312 具体代码: <!DOCTYPE html> <html lang="zh-CN"> ...
- html中的table导出Excel (亲测有用(●'◡'●))
演示地址: http://www.jq22.com/yanshi3312 具体代码: <!DOCTYPE html> <html lang="zh-CN"> ...
- javascript 将 table 导出 Excel ,可跨行跨列
<script language="JavaScript" type="text/javascript"> //jQuery HTML导出Excel ...
- js 前端 table 导出 excel
园子,github,stackoverflow 关于前端下载的文章不少 园子里大部分都是 利用ActiveXObject对象来实现,可他有个缺点安全等级,还有必须安装excel…… github,st ...
随机推荐
- 学习一下 Spring Security
一.Spring Security 1.什么是 Spring Security? (1)基本认识 Spring Security 是基于 Spring 框架,用于解决 Web 应用安全性的 一种方案, ...
- Elasticsearch 国内镜像下载站
镜像地址:https://thans.cn/mirror/elasticsearch.html 支持 5.0.0~7.3.1 各个平台的各个版本. 本文章转载他人.
- pikachs 渗透测试1-环境及暴力破解
一.安装 PhpStudy20180211,默认安装 1.mysql默认密码是root,因为在虚拟机,保留不动 2.解压pikachs 到 C:\phpStudy\PHPTutorial\WWW\pi ...
- FL Studio中如何制作和混音Dutch Lead(上)
Dutch Lead是电子音乐类型Dutch House以及Bigroom House中常用的Lead音色,这一篇文章中我将从制作和混音两方面来讲解Dutch Lead. (一).Dutch Lead ...
- 如何清理MacBook电脑缓存?
使用Mac电脑的用户都知道,Mac其空间硬盘大多数都是只有128G以及256G的规格,而用惯了win系统基本都是超过512G的硬盘的用户,转手来使用Mac电脑,就不得不接受这一硬伤问题. 用户往往再怎 ...
- leetcode 33和 leetcode81
//感想: 1.对于这两题,我真的是做到吐,这篇博客本来是昨晚准备写的,但是对于这个第二题,我真的做到头痛,实在是太尼玛的吐血了,主要是我也是头铁,非要找到那个分界点. 2.其实之前在牛客网上做过非常 ...
- 精尽 MyBatis 源码分析 - SqlSession 会话与 SQL 执行入口
该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...
- 技巧:如何区分dll程序集的编译目标平台(同样适用于查看程序集的其它依赖)
我们在进行net core迁移过程中,有时候需要区分一个dll是针对netstandard平台还是net framework. 本文提供一个技巧来快速区分:通过工具dnSpy打开目标dll,按照如下截 ...
- 在Windows下使用CodeBlock使用libiconv第三方库
在Windows下使用CodeBlock使用libiconv第三方库 1. 选择在Project->Build options下: 2. 如下图添加libicon ...
- 那么多人学习C++,学习它有什么好处?学完以后能从事哪些岗位?
相信很多人接触编程都是源于大学期间的那堂C++语言程序编程,但是这门课却只告诉了你编程语言是什么,却没告诉你要怎么去熟练掌握编程.所以,不可避免的是许多人在毕业前夕才发现虽然学会了C++,但是好像却不 ...