原生JS实现table数据,转化为EXCEL表格展现
2017-09-25 12:17
573 查看
function exportExcel(tableid) {//整个表格拷贝到EXCEL中 if(!!window.ActiveXObject||"ActiveXObject" in window){ var oXL = new ActiveXObject("Excel.Application"); var oWB = oXL.Workbooks.Add(); var oSheet = oWB.ActiveSheet; var table = document.getElementById(tableid); var hang = table.rows.length; var lie = table.rows(0).cells.length; for (i=0;i<hang;i++){ for (j=0;j<lie;j++){ oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText; } } oXL.Visible = true; oXL.UserControl = true; }else{ alert("其他"); tableToExcel(tableid) } }; 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><meta http-equiv="Content-Type" content="text/html; 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)) }})();
相信大家都做过很多导出数据到excel的操作了,上面这做法也是一个比较通用的方法之一,但是笔者认为上面这JS导出
的方法,只能静态导出当前页面table所呈现的数据量,如果数据量过多存在分页的情况下,则出现瓶颈无法导出全部(我猜测的,暂没测试)
相关文章推荐
- 原生JS实现table数据,转化为EXCEL表格展现
- 原生JS实现table数据,转化为EXCEL表格展现(下)
- html table表格导出excel的方法 html5 table导出Excel HTML用JS导出Excel的五种方法 html中table导出Excel 前端开发 将table内容导出到excel HTML table导出到Excel中的解决办法 js实现table导出Excel,保留table样式
- 原生js实现 table表格列宽拖拽
- js 实现清空table表格除首行外的所有数据
- JS实现table表格数据排序功能(可支持动态数据+分页效果)
- JS小功能(操作Table--动态添加删除表格及数据)实现代码
- 纯原生js实现table表格的增删
- JS小功能(操作Table--动态添加删除表格及数据)实现代码
- Html Table用JS导出excel格式问题 导出EXCEL后单元格里的000412341234会变成412341234 7-14 会变成 2018-7-14(7月14) 自定义格式 web利用table表格生成excel格式问题 js导出excel增加表头、mso-number-format定义数据格式 数字输出格式转换 mso-number-format:"\@"
- BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
- 原生js实现 table表格列宽拖拽
- JS小功能(操作Table--动态添加删除表格及数据)实现代码
- js操作table表格导出数据到excel方法
- JS实现table表格数据排序(可支持动态数据+分页效果)
- 结合bootstrap fileinput插件和Bootstrap-table表格插件,实现文件上传、预览、提交的导入Excel数据操作流程
- 5、实现两个excel表格数据的对比
- 用table,js实现web动态取数据并实现分页效果
- js导出表格数据到word、excel
- 用js实现表格数据管理