首页 > 其他分享 >js使用xlsx插件导出table中的数据

js使用xlsx插件导出table中的数据

时间:2023-06-03 12:35:50浏览次数:40  
标签:xlsx 插件 sheet js sheetName blob var table

  1. js代码 需要引入<script type="text/javascript" src="static/js/xlsx.core.min.js"></script>
    //导出excel
            function toExcel(){
                
                 var blob = sheet2blob(XLSX.utils.table_to_sheet($('table')[0]));
                 //设置链接
                   var link = window.URL.createObjectURL(blob); 
                   var a = document.createElement("a");    //创建a标签
                   a.download = "企业反映问题诉求汇总表.xlsx";                //设置被下载的超链接目标(文件名)
                   a.href = link;                            //设置a标签的链接
                   document.body.appendChild(a);            //a标签添加到页面
                   a.click();                                //设置a标签触发单击事件
                   document.body.removeChild(a);            //移除a标签
            }
            
     
         // 将一个sheet转成最终的excel文件的blob对象,然后利用URL.createObjectURL下载
         function sheet2blob(sheet, sheetName) {
             sheetName = sheetName || 'sheet1';
             var workbook = {
                 SheetNames: [sheetName],
                 Sheets: {}
             };
             workbook.Sheets[sheetName] = sheet;
             // 生成excel的配置项
             var wopts = {
                 bookType: 'xlsx', // 要生成的文件类型
                 bookSST: false, // 是否生成Shared String Table,官方解释是,如果开启生成速度会下降,但在低版本IOS设备上有更好的兼容性
                 type: 'binary'
             };
             var wbout = XLSX.write(workbook, wopts);
             var blob = new Blob([s2ab(wbout)], {type:"application/octet-stream"});
             // 字符串转ArrayBuffer
             function s2ab(s) {
                 var buf = new ArrayBuffer(s.length);
                 var view = new Uint8Array(buf);
                 for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
                 return buf;
             }
             return blob;
         }

     

标签:xlsx,插件,sheet,js,sheetName,blob,var,table
From: https://www.cnblogs.com/-xyk/p/17453796.html

相关文章

  • js 动态添加样式
    //添加css脚本exportconstloadStyle=url=>{constlink=document.createElement('link');link.type='text/css';link.rel='stylesheet';link.href=url;consthead=document.getElementsByTagName('head&......
  • 使用JS来实现tab栏切换
    所以今天我就来把我学的写成文章给大家欣赏一下下HTML部分标题部分<h3>然后导航栏我们使用ulli加a的布局实现然后第二个盒子开始放图片,放图片需要注意路径噢,不然回显示不出来<divclass="tab"><divclass="tab-nav"><h3>每日特价</h3><ul><li><aclas......
  • JVM-常用工具(jps、jstat、jinfo、jmap、jhat、jstack、jconsole、jvisualvm)使用
    场景记录JVM中常用工具。jps:虚拟机进程状态工具jps(JVMProcessStatusTool):虚拟机进程状态工具,可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(MainClass,main()函数所在的类)的名称,以及这些进程的本地虚拟机的唯一ID。命令格式:jps[options][hostid]示例:jps-l 选项:-q 只......
  • json 注意点
    1、特殊符号\n的转换逻辑importjsonx={'test':"测试\n"}#python中的字典结构x_json=json.dumps(x,ensure_ascii=False)x_json#'{"test":"测试\\n"}'这里看上去稍微有一点特殊,本质就是转义json字符串。print(x_json)#{"test&qu......
  • Beginner:Client libraries-10 创建并使用插件
    目标:学习创建和加载一个简单的插件使用pluginlib背景本教程来自于 http://wiki.ros.org/pluginlib and WritingandUsingaSimplePluginTutorial.pluginlib是一个c++库,用于从ROS包中加载和卸载插件。插件是从运行库(即共享对象、动态链接库)加载的可动态加载类。使用plugi......
  • IDEA问题之“MyBatis插件安装【MyBatisX】”
    一、场景在SSM框架中带有XML文件的查找很是麻烦,特别是在ID命名有大量重复时而这个插件就可以,让你直接从Service实现类中直接跳到XML中还有些其他功能,可以探索探索一、配置步骤1.打开IDEA设置 2.安装MyBatisX插件】3.重启IDEA三、效果图  ......
  • 如何使用JavaScript格式化日期 – JS中的日期格式化
    日期是许多JavaScript应用程序的基本组成部分,无论是在网页上显示当前日期还是处理用户输入以安排事件。但以清晰一致的格式显示日期对于积极的用户体验至关重要。在本文中,我们将探讨在JavaScript中格式化日期的各种技术,使您能够以您的应用程序所需的格式显示日期。(前端教程......
  • jsocks代理服务器和客户端的试用
    jsocks的项目位于:[url]http://jsocks.sourceforge.net/[/url]在GoogleCode上还有个对应的mirror的项目,是Google创建的,做了一些修改,看来Google是用到了它:[url]http://code.google.com/p/jsocks-mirror/[/url]上面的项目包括SOCKS代理服务器和......
  • 25.后置处理器之JSON提取器
     讲师介绍    黄老师更多讲师课程    7年银行it开发经验1、某大型金融it企业5年柜面系统、自助终端系统、叫号机系统开发经验2、某大型电力系统检测系统1年开发经验3、某大型数据库系统企业1年p2p开发经验01. 程体系导读02.jmeter简介 03.jmeter安装01 04......
  • vue、js onSelect事件 获取选中的值
    https://huaweicloud.csdn.net/639ff5afdacf622b8df90ecc.html?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~BlogCommendFromBaidu~activity-1-125977595-blog-51669331.235^v36^pc_relevant_default_base3&depth_1-ut......