纯js实现文件下载
以下是js文本,粘贴复制一键搞定:

function exportExcel(title){var type='xlsx';var tables=document.getElementsByTagName('table');var titleTable=tables[0];
if(titleTable==undefined){alert("未找到需要导出的数据");
return false}
var keyMap=[];for(var i=0;i<titleTable.rows[0].cells.length;i++){
keyMap.push(getTdText(titleTable.rows[0].cells[i]))}
var data=[];for(var k=0;k<tables.length;k++){
for(var i=0;i<tables[k].rows.length;i++){
var obj={};for(var j=0;j<keyMap.length;j++){
obj[keyMap[j]]=getTdText(tables[k].rows[i].cells[j])}data.push(obj)};}
var tmpdata=[];data.map((v,i)=>keyMap.map((k,j)=>Object.assign({},{
v:v[k],position:(j>25?getCharCol(j):String.fromCharCode(65+j))+(i+1)})))
.reduce((prev,next)=>prev.concat(next)).forEach((v,i)=>tmpdata[v.position]={v:v.v});
var outputPos=Object.keys(tmpdata);
var tmpWB={SheetNames:['mySheet'],Sheets:
{'mySheet':Object.assign({},tmpdata,{'!ref':outputPos[0]+':'+outputPos[outputPos.length-1]})}};
var tmpDown=new Blob([s2ab(XLSX.write(tmpWB,
{bookType:(type==undefined?'xlsx':type),bookSST:false,type:'binary'}))], {type:""});
var href=URL.createObjectURL(tmpDown);var aLink=document.createElement('a');
aLink.href=href;aLink.download=title==undefined?new Date().getTime():title+".xlsx";
aLink.style.display='none';document.body.appendChild(aLink);aLink.click();setTimeout(function()
{URL.revokeObjectURL(tmpDown)},100)}
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}function getCharCol(n)
{let temCol='',s='',m=0;while(n>0){m=n%26+1;s=String.fromCharCode(m+64)+s;n=(n-m)/26}return s}
function getTdText(node){var child=node.Children;if(child==undefined){return node.innerText;}
else{var text='';for(var i=0;i<child.length;i++){text+=getTdText(child[i]);}return text;}}


导出excel可由自己命名,填在方法里;

伙伴们,你们都学会了吗?

纯js实现下载功能【附上js代码】相关推荐

  1. pdf.js禁止下载功能

    大家在使用pdf的时候如果用普通的方法使用是没有办法禁止下载,打印之类的功能的,所以就用到了pdf而且这个插件功能相当强大,还可以直接复制粘贴pdf内的内容,有兴趣的朋友看下PDF.js实际运行起来的 ...

  2. 微信JS图片上传与下载功能--微信JS系列文章(三)

    概述 在前面的文章微信JS初始化-- 微信JS系列文章(一)中已经介绍了微信JS初始化的相关工作,接下来本文继续就微信JS的图片上传功能进行描述,供大家参考. 图片上传 $(function(){va ...

  3. JS实现购物车功能(JS案例)

    整理了一下当时学js写的一些案例,觉得购物车功能在一般网站比较常见且基础,现在把它整理出来,需要的小伙伴可以参考一下. 该案例购物车主要功能如下: 1. 商品单选.全选.反选功能 2. 商品添加.删除 ...

  4. 关于纯前端excel上传、下载功能

    工作项目中,表格的上传下载基本都是调取后端接口,把处理逻辑放在后端进行处理.那么纯前端js代码实现excel的上传下载是否可行?其实代码逻辑很简单,不过需要引用xlsx.js进行处理.下面是我自己写的 ...

  5. JS全选功能代码优化

    JS全选功能代码优化 原文:JS全选功能代码优化 JS全选功能代码优化 最近在看javascript MVC那本书,也感觉到自己写的代码也并不优雅,所以一直在想 用另一种模式来编写JS代码,所以针对之 ...

  6. 用统计功能计算机计算js,js实现计算器功能

    本文实例为大家分享了js实现计算器功能的具体代码,供大家参考,具体内容如下 知识点 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 代码如下 js计算器 计算器 .h ...

  7. html实现验证码效果,js实现验证码功能

    本文实例为大家分享了js实现验证码功能的具体代码,供大家参考,具体内容如下 #前面是拆解着讲的,不想看可以直接跳过,带注释的完整版代码和效果在后面 首先在页面中准备一个输入框,一个显示验证码的盒子和一 ...

  8. html+css+js实现抽奖功能

    html+css+js实现抽奖功能 一.代码 <!DOCTYPE html> <html lang="en"> <head><meta c ...

  9. Spring Boot项目集成AWS SDK连接到AWS S3,实现上传下载功能

    本文主要描写在Spring Boot项目里集成AWS SDK连接到AWS S3,实现上传下载功能的具体代码和注意事项.如有不足和错误之处,欢迎指正. AWS S3相关介绍 AWS S3(官网): ht ...

  10. vuejs项目前端纯js在线下载网页内容保存为自定义格式的word文件、另存为word文件

    所有前端导入导出方法集合: 前端必备技能知识:JS导出Blob流文件为Excel表格.Vue.js使用Blob的方式实现excel表格的下载(流文件下载)_勤动手多动脑少说多做厚积薄发-CSDN博客_ ...

最新文章

  1. Django 模板HTML转义和CSRF4.3
  2. Angular form学习笔记
  3. wps怎么做时间线_时间不够用怎么办?如何做才会更高效
  4. webservice调用,控制台输出错误:编码GBK的不可映射字符
  5. 手把手教学endnote设置毕业论文参考文献格式(特别完整)
  6. 戴尔dell poweredge r730服务器系统安装以及raid配置详解教程
  7. 【MSFconsole进阶】evasion(免杀模块):免杀模块使用方法,相关设置
  8. USDP使用笔记(五)设置Hive on Tez解决return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask问题
  9. 莫古力最新服务器,《最终幻想14》将调整现有人口平均化策略
  10. unl构件图与部署图
  11. [UE4渲染]LightPass中加入ramp图
  12. (读后摘抄)《计算机程序设计语言的发展》_王汝传
  13. 【VCU】详解S19文件(S-record)
  14. 第一次有人把 5G 讲的这么简单明了
  15. html2txt noblank.c
  16. 单独编译和使用webrtc音频降噪模块(NS)
  17. Who Wants to Be a Millionaire?
  18. GNU Radio系列教程(三):初级篇之GNU Radio GRC流图
  19. Java进击框架:Spring(一)
  20. LOGO(小海龟)编程之父留给我们的思想遗产

热门文章

  1. 索尼Fn键-亮度调节快捷键驱动
  2. roboguide程序导出_FANUC ROBOGUIDE下载-FANUC ROBOGUIDE(发那科机器人编程软件)下载v9.1-西西软件下载...
  3. VTD的官方help翻译-ROD部分(1~4章)
  4. 图像取证:由色差发现数字篡改痕迹
  5. ERP系统之JPJDE入门-1 JDE 简史
  6. 学校图书馆管理系统/图书管理系统的设计与实现
  7. 【交换机在江湖】第十三章 VLAN划分篇
  8. 线性代数学习笔记——矩阵主要公式
  9. win7无法连接WIFI,安装无线驱动 AR9485 WIFI Driver for Windows 7 (32-bit, 64-bit)
  10. 如何修改html代码,如何修改网页源代码