问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

filesaver.js 怎么用

发布网友 发布时间:2022-05-07 08:41

我来回答

2个回答

懂视网 时间:2022-05-15 22:14

本篇文章主要介绍了js基于FileSaver.js 浏览器导出Excel文件的示例,具有一定的参考价值,有兴趣的可以了解一下

本文介绍了js基于FileSaver.js 浏览器导出Excel文件,分享给大家,也给自己做个笔记

限制一:不同浏览器对 blob 对象有不同的限制

具体看看下面这个表格(出自FileSaver.js):

BrowserConstructs asFilenamesMax Blob SizeDependencies
Firefox 20+BlobYes800 MiBNone
Firefox < 20data: URINon/aBlob.js
ChromeBlobYes500 MiBNone
Chrome for AndroidBlobYes500 MiBNone
EdgeBlobYes?None
IE 10+BlobYes600 MiBNone
Opera 15+BlobYes500 MiBNone
Opera < 15data: URINon/aBlob.js
Safari 6.1+*BlobNo?None
Safari < 6data: URINon/aBlob.js

限制二:构建完 blob 对象后才会转换成文件

这一点限制对小文件(几十kb)可能没什么影响,但对稍微大一点的文件影响就很大了。试想,用户要下载一个 100mb 的文件,如果他点击了下载按钮之后没看到下载提示的话,他肯定会继续按,等他按了几次之后还没看到下载提示时,他就会抱怨我们的网站,然后离开了。

然而事实上下载的的确确发生了,只是要等到下载完文件之后才能构建 blob 对象,再转化成文件。而且,用户再触发多几次下载就会造成一些资源上的浪费。

因此,如果是要下载大文件的话,还是推荐直接创建一个 <a> 标签拉~
写 html 也好,写 JavaScript 动态创建也好,用自己喜欢的方式去创建就好了。

FileSaver.js


调用方法


                                        

热心网友 时间:2022-05-15 19:22

1、用到两个文件Blob.js和FileSaver.js
2、代码:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8"/>
<title>js导出excel-ComingX</title>
</head>
<body>
<h1> </h1>
<a>
<p><strong>数据内容:</strong></p>
<textarea rows="6" id="content">
姓名,学号,成绩
王三,103020120,98
张四,103020218,80
李石磊,20085802024,100
JohnsonLee,123654,523
</textarea>
<p>
<strong>文件名</strong>: <input type="text" name="filename" id="filename" value="hello.csv" /> (.csv后缀)
</p>
<p style="color: #3300ff;"">1. 使用FileSaver.js保存</p><button id="saveBtn">保存Excel文件</button>

</a>
<!--filesaver-->
<script async="" src="Blob.js"></script>
<script async="" src="FileSaver.js"></script>
<script>
(function () {
document.getElementById("saveBtn").onclick = function (event) {
event.preventDefault();
var BB = self.Blob;
var contentStr = document.getElementById("content").value; //内容
var fileNmae=document.getElementById("filename").value; //文件名
saveAs(
new BB(
["\ufeff" + contentStr] //\ufeff防止utf8 bom防止中文乱码
, { type: "text/plain;charset=utf8" }
) , fileNmae);
};
})();
</script>

</body>
</html>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 用“要”字开头 的成语接龙,后面连14个左右就好!谢谢各位 华为mate40pro震动太小 魔兽世界急救到270左右厚魔纹布绷带也是绿色的了,有更高级的吗,怎么学 七年级信息技术Excel练习题 excel信息技术作业 高二信息技术excel问题 初中信息技术excel如何保留一位小数发发发 在小学信息技术excel中怎样设置表格线 信息技术 电子表格(EXCEL)2003 怎么做 初中信息技术-Excel课程表制作(2) 急,今天下午考信息技术!有一道EXCEL的表格题高手帮忙解决 高中信息技术中的Excel表格转换成折线图后若表格中的数据删减小数位数,那折线图中的数据会变吗? 邮票回收价格表 宁波市哪有回收邮票 邮票收购价格 请问北京哪里高价收购邮票? 邮票价格表1992~13 请问vivoy75a在页面怎么开启小v 文9邮票的价格 目前一套中华人民共和国邮票1995的市场价格 什么网络安全管理系统,能够防御安全威胁?像主机监控、非授权访问这些。 要五个成语接龙,开头自选,速度!!! 华为mate40pro发语音手上有振动正常吗? 入不敷出成语接龙要字尾接前一个字头 成语接龙,要字一样的不是音一样的,谢谢你了! 要一组成语接龙什么成语都行,只要是成语接龙就行! 成语接龙,需要6个 成语接龙第一个字要和最后一个字音相同或谐音 8,9个成语组成就行 怎么使用FileSaver.js和Blob.js吧下图TXT中的数据导入到excel文件当中... javascript 导出文件 弹出选择路径窗口 返回路径和文件名 梦见老公准备建房 怎么快速消除衣服上火锅味 要30个成语接龙,接龙的字必须一样。谢谢 如何设置使浏览器可以导出excel 成语接龙开头是道路崎岖接下来是什么 【要岖开头的】 梦见和老公一起反盖房子 Cognos 用JS实现导出Excel按钮 ?求代码,急! 中银活期宝的资金转不出来怎么办 假体隆胸后多久可以按摩? 毛面假体隆胸后多久需要按摩 假体隆胸术后要怎样按摩