纯js实现下载功能【附上js代码】
纯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代码】相关推荐
- pdf.js禁止下载功能
大家在使用pdf的时候如果用普通的方法使用是没有办法禁止下载,打印之类的功能的,所以就用到了pdf而且这个插件功能相当强大,还可以直接复制粘贴pdf内的内容,有兴趣的朋友看下PDF.js实际运行起来的 ...
- 微信JS图片上传与下载功能--微信JS系列文章(三)
概述 在前面的文章微信JS初始化-- 微信JS系列文章(一)中已经介绍了微信JS初始化的相关工作,接下来本文继续就微信JS的图片上传功能进行描述,供大家参考. 图片上传 $(function(){va ...
- JS实现购物车功能(JS案例)
整理了一下当时学js写的一些案例,觉得购物车功能在一般网站比较常见且基础,现在把它整理出来,需要的小伙伴可以参考一下. 该案例购物车主要功能如下: 1. 商品单选.全选.反选功能 2. 商品添加.删除 ...
- 关于纯前端excel上传、下载功能
工作项目中,表格的上传下载基本都是调取后端接口,把处理逻辑放在后端进行处理.那么纯前端js代码实现excel的上传下载是否可行?其实代码逻辑很简单,不过需要引用xlsx.js进行处理.下面是我自己写的 ...
- JS全选功能代码优化
JS全选功能代码优化 原文:JS全选功能代码优化 JS全选功能代码优化 最近在看javascript MVC那本书,也感觉到自己写的代码也并不优雅,所以一直在想 用另一种模式来编写JS代码,所以针对之 ...
- 用统计功能计算机计算js,js实现计算器功能
本文实例为大家分享了js实现计算器功能的具体代码,供大家参考,具体内容如下 知识点 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 代码如下 js计算器 计算器 .h ...
- html实现验证码效果,js实现验证码功能
本文实例为大家分享了js实现验证码功能的具体代码,供大家参考,具体内容如下 #前面是拆解着讲的,不想看可以直接跳过,带注释的完整版代码和效果在后面 首先在页面中准备一个输入框,一个显示验证码的盒子和一 ...
- html+css+js实现抽奖功能
html+css+js实现抽奖功能 一.代码 <!DOCTYPE html> <html lang="en"> <head><meta c ...
- Spring Boot项目集成AWS SDK连接到AWS S3,实现上传下载功能
本文主要描写在Spring Boot项目里集成AWS SDK连接到AWS S3,实现上传下载功能的具体代码和注意事项.如有不足和错误之处,欢迎指正. AWS S3相关介绍 AWS S3(官网): ht ...
- vuejs项目前端纯js在线下载网页内容保存为自定义格式的word文件、另存为word文件
所有前端导入导出方法集合: 前端必备技能知识:JS导出Blob流文件为Excel表格.Vue.js使用Blob的方式实现excel表格的下载(流文件下载)_勤动手多动脑少说多做厚积薄发-CSDN博客_ ...
最新文章
- Django 模板HTML转义和CSRF4.3
- Angular form学习笔记
- wps怎么做时间线_时间不够用怎么办?如何做才会更高效
- webservice调用,控制台输出错误:编码GBK的不可映射字符
- 手把手教学endnote设置毕业论文参考文献格式(特别完整)
- 戴尔dell poweredge r730服务器系统安装以及raid配置详解教程
- 【MSFconsole进阶】evasion(免杀模块):免杀模块使用方法,相关设置
- USDP使用笔记(五)设置Hive on Tez解决return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask问题
- 莫古力最新服务器,《最终幻想14》将调整现有人口平均化策略
- unl构件图与部署图
- [UE4渲染]LightPass中加入ramp图
- (读后摘抄)《计算机程序设计语言的发展》_王汝传
- 【VCU】详解S19文件(S-record)
- 第一次有人把 5G 讲的这么简单明了
- html2txt noblank.c
- 单独编译和使用webrtc音频降噪模块(NS)
- Who Wants to Be a Millionaire?
- GNU Radio系列教程(三):初级篇之GNU Radio GRC流图
- Java进击框架:Spring(一)
- LOGO(小海龟)编程之父留给我们的思想遗产
热门文章
- 索尼Fn键-亮度调节快捷键驱动
- roboguide程序导出_FANUC ROBOGUIDE下载-FANUC ROBOGUIDE(发那科机器人编程软件)下载v9.1-西西软件下载...
- VTD的官方help翻译-ROD部分(1~4章)
- 图像取证:由色差发现数字篡改痕迹
- ERP系统之JPJDE入门-1 JDE 简史
- 学校图书馆管理系统/图书管理系统的设计与实现
- 【交换机在江湖】第十三章 VLAN划分篇
- 线性代数学习笔记——矩阵主要公式
- win7无法连接WIFI,安装无线驱动 AR9485 WIFI Driver for Windows 7 (32-bit, 64-bit)
- 如何修改html代码,如何修改网页源代码