表单/表格

jquery表格转excel表格插件

阿里云

excel-gen.js 是一款 jquery 表格转 excel 表格插件。该 jquery 插件可以在客户端将 HTML 表格导出为 Excel 表格,并且下载为一个 xlsx 类型的 Excel 文件。

方法一:

excel-gen.js 表格转 excel 表格插件依赖于 jszip.js 和 FileSaver.js 插件。

也想出现在这里?联系我们
创客主机
  1. <script src="path/to/jquery.min.js"></script>
  2. <script src="path/to/jszip.min.js"></script>
  3. <script src="path/to/FileSaver.min.js"></script>
  4. <script src="excel-gen.js"></script>

其中,jszip.js 用于创建,读取和编辑 Zip 文件。FileSaver.js 用于保存 Excel 文件。

HTML 结构:

为页面中要转换为 Excel 的表格设置一个 id,并添加一个下载按钮。

  1. <div class="table-responsive">
  2. <table class="table table-bordered" id="example-table-id">
  3.     <thead>
  4.       <tr>
  5.         <td>序号</td>
  6.         <td>姓名</td>
  7.         <td>成绩</td>
  8.       </tr>
  9.     </thead>
  10.     <tbody>
  11.       <tr>
  12.         <td>1</td>
  13.         <td>张三</td>
  14.         <td>95</td>
  15.       </tr>
  16.       <tr>
  17.         <td>2</td>
  18.         <td>李四</td>
  19.         <td>82</td>
  20.       </tr>
  21.       <tr>
  22.         <td>3</td>
  23.         <td>王五</td>
  24.         <td>89</td>
  25.       </tr>
  26.     </tbody>
  27.   </table>
  28. </div>

初始化插件:

在页面 DOM 元素加载完毕之后,通过 new ExcelGen()方法创建一个 ExcelGen 实例。

  1. myExcel = new ExcelGen({
  2.   "src_id": "example-table-id",
  3.   "show_header": true
  4. });

然后通过 generate()方法来创建 Excel 表格。

  1. $("#generate-excel-btn").click(function () {
  2.   myExcel.generate();
  3. });

excel-gen.js jquery 表格转 excel 表格插件插件的 github 地址为:https://github.com/ecscstatsconsulting/js-excel-generator

方法二:

  1. <html>
  2. 	<head>
  3. 		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  4. 	</head>
  5. 	<body link="blue" vlink="purple">
  6. 		<table id="print-content" border="1" cellpadding="0" cellspacing="0" style='border-collapse:collapse;table-layout:fixed;'>
  7. 			<colgroup>
  8. 				<col width="80 ">
  9. 				<col width="80 ">
  10. 				<col width="150 ">
  11. 				<col width="80 ">
  12. 				<col width="150 ">
  13. 				<col width="80 ">
  14. 				<col width="80 ">
  15. 			</colgroup>
  16. 			<tr height="20" style="text-align: center;font-size:18px">
  17. 				<td colspan="7">会签单</td>
  18. 			</tr>
  19. 			<tr height="20" style="text-align: center;font-size:14px">
  20. 				<td></td>
  21. 				<td colspan="2">流转</td>
  22. 				<td></td>
  23. 				<td colspan="3">会议</td>
  24. 			</tr>
  25. 			<tr height="20" style="text-align: center;font-size:14px">
  26. 				<td>名称</td>
  27. 				<td colspan="2">自动获取</td>
  28. 				<td>编号</td>
  29. 				<td colspan="3">自动获取</td>
  30. 			</tr>
  31. 			<tr height="20" style="text-align: center;font-size:14px">
  32. 				<td>主持</td>
  33. 				<td colspan="2">自动获取</td>
  34. 				<td>类型</td>
  35. 				<td colspan="3">自动获取</td>
  36. 			</tr>
  37. 			<tr height="20" style="text-align: center;font-size:14px">
  38. 				<td></td>
  39. 				<td colspan="2">自动获取</td>
  40. 				<td>日期</td>
  41. 				<td colspan="3">自动获取</td>
  42. 			</tr>
  43. 			<tr height="100" style="text-align: center;font-size:14px">
  44. 				<td rowspan="5">内容</td>
  45. 				<td colspan="6" rowspan="5">自动获取</td>
  46. 			</tr>
  47. 			<tr/>
  48. 			<tr/>
  49. 			<tr/>
  50. 			<tr/>
  51. 			<tr height="20" style="text-align: center;font-size:14px">
  52. 				<td>备注</td>
  53. 				<td colspan="6">自动获取</td>
  54. 			</tr>
  55. 			<tr height="24" style="text-align: center;font-size:16px">
  56. 				<td colspan="7">意见</td>
  57. 			</tr>
  58. 			<tr height="24" style="text-align: center;font-size:14px">
  59. 				<td>序号</td>
  60. 				<td></td>
  61. 				<td>部门</td>
  62. 				<td>意见</td>
  63. 				<td>时间</td>
  64. 				<td>节点</td>
  65. 				<td>状态</td>
  66. 			</tr>
  67. 			<tr height="20" style="text-align: center;font-size:14px">
  68. 				<td>1</td>
  69. 				<td></td>
  70. 				<td>办公室</td>
  71. 				<td>同意!</td>
  72. 				<td>2018/5/14 15:21</td>
  73. 				<td></td>
  74. 				<td>已提交</td>
  75. 			</tr>
  76. 		</table>
  77. 		<!-- 下载方法1.超链接_导出文件-->
  78. 		<a id="print-click">超链接_导出表格</a>
  79. 		<!-- 下载方法2.引入文件保存js-->
  80. 		<input type="button" οnclick="download()" value="函数_导出表格"></input>
  81. 		<input type="button" οnclick="printout()" value="打印"></input>
  82. 		<!-- 下载方法2.引入文件保存js-->
  83. 		<script type="application/javascript" src="js/FileSaver.js" ></script>
  84. 		<script>
  85. 			// 使用outerHTML属性获取整个table元素的HTML代码(包括<table>标签),然后包装成一个完整的HTML文档,设置charset为urf-8以防止中文乱码
  86. 			var html = "<html><head><meta charset='utf-8' /></head><body>" + document.getElementById("print-content").outerHTML + "</body></html>";
  87. 			// 实例化一个Blob对象,其构造函数的第一个参数是包含文件内容的数组,第二个参数是包含文件类型属性的对象
  88. 			var blob = new Blob([html], {
  89. 				type: "application/vnd.ms-excel"
  90. 			});
  91. 			var a = document.getElementById("print-click");
  92. 			// 利用URL.createObjectURL()方法为a元素生成blob URL
  93. 			a.href = URL.createObjectURL(blob);
  94. 			// 设置文件名,目前只有Chrome和FireFox支持此属性
  95. 			a.download = "会签单.xls";
  96.  
  97. 			function download() {
  98. 				debugger
  99. 					// 使用outerHTML属性获取整个table元素的HTML代码(包括<table>标签),然后包装成一个完整的HTML文档,设置charset为urf-8以防止中文乱码
  100. 					var html2 = "<html><head><meta charset='utf-8' /></head><body>" + document.getElementById("print-content").outerHTML + "</body></html>";
  101. 					// 实例化一个Blob对象,其构造函数的第一个参数是包含文件内容的数组,第二个参数是包含文件类型属性的对象
  102. 					var blob2 = new Blob([html2], {
  103. 						type: "application/vnd.ms-excel"
  104. 					});
  105. 					saveAs(blob2, "应系单.xls");
  106. 			};
  107. 			  //打印具体实现代码
  108.            function printout() {
  109.            		debugger;
  110.                 var newWindow;
  111.                 //打开一个新的窗口  
  112.                 newWindow = window.open();
  113.                 // 是新窗口获得焦点  
  114.                 newWindow.focus();
  115.                 //保存写入内容  
  116.                 var newContent = "<html><head><meta charset='utf-8'/><title>打印</title></head><body>"
  117.                 newContent += document.getElementById("print-content").outerHTML;
  118.                 newContent += "</body></html>"
  119.                 // 将HTML代码写入新窗口中  
  120.                 newWindow.document.write(newContent);
  121.                 newWindow.print();
  122.                 // close layout stream 
  123.                 newWindow.document.close();
  124.                 //关闭打开的临时窗口
  125.                 newWindow.close();
  126.                 return false;
  127.            };
  128. 		</script>
  129. 	</body>
  130. </html>

jquery 表格转 excel 表格插件

已有 180 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(0)

评论:

2 条评论,访客:0 条,博主:0 条
  1. avatar
    ,发布于: 

    可以把html里的数据导出指定模板的excel吗?

    • PetitQ
      PetitQ发布于: 

      感谢您关注本站,目前只可以把HTML中的表格转换为excel格式。

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!