如何用js导出数据Excel

如题所述

(function ($) {
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}

$.fn.ExportExcel = function (thread_id,tab_id, options) {
var defaults = {
height: '24px',
'line-height': '24px',
margin: '0 5px',
padding: '0 11px',
color: '#000',
background: '#02bafa',
border: '1px #26bbdb solid',
'border-radius': '3px',
/*color: #fff;*/
display: 'inline-block',
'text-decoration': 'none',
'font-size': '12px',
outline: 'none',
cursor: 'pointer'
}
var options = $.extend(defaults, options);
return this.each(function () {
var currentObject = $(this); //获取当前对象
currentObject.css(defaults);
currentObject.onmouseover = function () {
$(this).css('cursor', 'hand');
};

currentObject.click(function () {
//From:jsfiddle.net/h42y4ke2/16/
var tab_text = '<html xmlns:x="urn:schemas-microsoft-com:office:excel">';
tab_text = tab_text + '<head><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>';

tab_text = tab_text + '<x:Name>Test Sheet</x:Name>';

tab_text = tab_text + '<x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet>';
tab_text = tab_text + '</x:ExcelWorksheets></x:ExcelWorkbook></xml></head><body>';

tab_text = tab_text + "<table border='1px'>";
tab_text = tab_text + $('#' + thread_id).html();
tab_text = tab_text + $('#' + tab_id).html();
tab_text = tab_text + '</table></body></html>';

var data_type = 'data:application/vnd.ms-excel';

var timeStr = new Date().Format('yyyyMMddhhmmss');
$(this).attr('href', data_type + ', ' + encodeURIComponent(tab_text));
$(this).attr('download', '日常数据报表' + timeStr + '.xls');
});
})
}
})(jQuery);
<html>

<a href="#" id="export">导出</a>

<table>

<thead id="theadDate">

<tr>

<th>姓名</th>

<th>班级</th>

<th>年龄</th>

</tr>

</thead>

<tbody id="tbodyDate">

<tr>        <td>张三</td>

<td>高二</td>

<td>18</td>

</tr>

<tr>

<td>李四</td>

<td>高三</td>

<td>20</td>

</tr>

</tbody>

</table>

<script src="assets/javascripts/autotest/export-excel.js" ></script>  <!-- 引入js文件-->

<script type="text/javascript">

//导出 调用
$(function () {
$('#export').ExportExcel('theadDate','tbodyDate'); //tbodyDate为table的id,export为a标签。
});

</script>

</html>
温馨提示:内容为网友见解,仅供参考
无其他回答

JS实现导出Excel的五种方法详解
兼容性我没有测试,大家可以试下,不过需要利用JQ直接贴代码了。源代码可点击此处本站下载。注意一定要引jquery-3.2.1.min.js,jquery.table2excel.js对应的文件。jquery-3.2.1.min.js这个看你对应的文件版本,不重要。如有问题,欢迎批评指导。上面是我整理给大家的,希望今后会对大家有帮助。

HTML用JS导出Excel的五种方法
下面是具体实现代码(以第五种兼容多浏览器方法为例):通过此方法,无需额外插件,即可在浏览器端生成并下载Excel文件,实现功能简洁高效。以下是使用示例代码,以生成并下载一个包含三列信息(姓名、年龄、职业)的Excel文件为例:实现方法的代码简单,只需对给定数据进行基本格式化,即可通过创建可下载链...

如何使用JavaScript导入和导出Excel文件
当需要将数据导出为 Excel 文件时,可以利用 SpreadJS 内置的客户端 ExcelIO 功能。通过指定文件名和导出选项,可以轻松将数据导出到 Excel 文件中。为了使用户能够保存文件到本地,您还需要引入 FileSaver 库。通过上述步骤,您可以在前端应用程序中实现与 Excel 文件的高效交互,包括数据的导入、操作和...

js如何导出exel文件?
一。导出Excel有两种:\\x0d\\x0a1.\\x0d\\x0afunction ExportExcel(tableid){\/\/读取表格中每个单元到EXCEL中 \\x0d\\x0atry\\x0d\\x0a{\\x0d\\x0avar curTbl = document.getElementById(tableid); \\x0d\\x0avar oXL = new ActiveXObject("Excel.Application"); \/\/创建AX对象excel \\x0d...

前端必读:如何在 JavaScript 中使用SpreadJS导入和导出 Excel 文件
完成数据处理后,使用SpreadJS内置的客户端ExcelIO功能将电子表格导出为Excel文件。在页面上添加导出按钮,触发导出操作,确保导出的文件格式与原始Excel文件一致。通过FileSaver库的支持,用户可以将导出的文件保存到本地或指定位置。本文提供了一个基本的流程示例,展示了如何使用SpreadJS实现页面端的Excel导入...

xlsx.js 导出&导入excel
1. **导入excel并获取数据**:使用xlsx.js的`read`函数将Excel文件中的数据读入。此步骤将数据转换为JavaScript对象,便于前端渲染。2. **前端渲染**:将读取到的数据以列表形式展示在前端界面,这通常涉及到HTML和JavaScript(或类似前端框架如React、Vue等)的结合使用。3. **导出excel**:使用xlsx....

react使用exceljs纯前端导出excel(多个sheet页、每个sheet页内多个表格...
让我们直接展示React结合exceljs实现的纯前端Excel导出功能,它允许生成多个工作表页,每个工作表页内包含多个表格,以满足特定需求。尽管网络上能找到一些示例,但很难找到完全符合要求的,所以我不得不结合现有代码并进行一些自定义开发。关键步骤是通过循环结构依次创建工作表页,然后在每个工作表中,通过...

前端excel导入导出,看这篇就够了
导出Excel时,XLSX.utils提供了多种实用工具,如aoa_to_sheet、table_to_sheet和json_to_sheet,能将二维数组、HTML表格和JSON对象转换成可导出的sheet。以json_to_sheet为例,通过将对象数组转换,就能生成包含数据的Excel文件。总之,前端开发人员通过js-xlsx库,可以轻松处理Excel文件的导入导出,无论是...

firefox浏览器下用JS的方式导出excel
firefox浏览器下用JS的方式导出excel,可以依照以下方法:1、没有具体的代码,但是可以为您提供一个实现思路。我们知道js导出文件实际就是输出二进制文件(前提是您的浏览器权限足以让您的js脚本访问本地文件),您只需要按照excel(组建单的是csv的格式)进行文件输出即可,但是对于功能较为复杂的excel文件...

【sheetjs】纯前端如何实现Excel导出下载和上传解析?
首先,基于`vite`创建`react`项目,安装`xlsx`库来简化过程,项目集成`vite`、`react`、`sheetjs`和`arco-design`(字节的ReactUI框架,类似于`antd`)。对于前端实现Excel导出下载的需求,从后端获取JSON数据,通过`xlsx`构造数据成二进制格式,最后设计按钮触发下载。步骤总结如下:1. 获取后端JSON数据...

相似回答