JavaScript下载excel文件

这篇具有很好参考价值的文章主要介绍了JavaScript下载excel文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


通过链接下载

a标签

对于已知地址的目标文件,前端可以使用 a标签 来直接下载,使用a标签下载使用到两个属性

  • download:下载文件名
  • href:目标文件下载链接
<a href="xxx/xxx/a.xlsx" download="a.xlsx">点击下载图片</a>

下载方法

使用时给触发的div绑定事件

  const download = async () => {
    const url = 'https://xx.com/xx/xx/a.xlsx'

    const fileName = 'a.xls'
    let a = document.createElement("a");
    a.download = fileName;
    a.href = url;
    document.body.append(a); // 修复firefox中无法触发click
    a.click();
    URL.revokeObjectURL(a.href);
    a.remove();
  }

注意

a标签的下载只能使用get请求,且无法在请求体中添加header信息

获取文件流

请求体配置

axios({
 			url: 'https://xxx.com/xxx/xxx',
 			method: 'get',
 			responseType: 'blob',
 		}).

请求方法可用post或者get,responseType一般需要设置为 blob 或者 arraybuffer

下载文件流

  • 封装下载函数
export const downloadFileByBlob = (fileData, fileName, ext = 'xlsx') => {
  const blob = new Blob([fileData], {
    type: docMimeTypes[ext],
  });
  console.log('fileData---',fileData)
  console.log('blob---',blob)
  const objectUrl = window.URL.createObjectURL(blob);
  const link = document.createElement('a');
  link.href = objectUrl;
  link.setAttribute('download', fileName);
  document.body.appendChild(link);
  link.click();
  link.remove();
  window.URL.revokeObjectURL(objectUrl); // 文件下载后,释放blob对象
};
  • 下载函数使用
	  const res = await downLoadFile(param)
      console.log('downLoadFile-->', res)
      downloadFileByBlob(res.data, '下载文件') // 数据流是个Blob对象

打印如下👇
JavaScript下载excel文件,前端,# JavaScript,javascript,excel

JavaScript下载excel文件,前端,# JavaScript,javascript,excel

总结

JavaScript下载文件

  • 通过链接下载

  • 获取文件流文章来源地址https://www.toymoban.com/news/detail-684345.html

到了这里,关于JavaScript下载excel文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用JavaScript实现文件的上传与下载

    一、文件上传 1、普通文件上传 JavaScript 可以使用表单提交来实现文件上传。首先,在 HTML 中创建一个文件输入框:  然后,在 JavaScript 中获取文件输入框的引用,并在其上设置事件监听器,如下所示:   在事件监听器中,可以使用 fileInput.files[0] 属性获取选择的文件,然后

    2024年02月06日
    浏览(92)
  • 知识库数据导出为excel-使用JavaScript实现在浏览器中导出Excel文件

    我们智能客服知识库机器人已经开发完成,后端数据库是使用的qdrant向量数据库,但是该数据库并没有导出备份功能,所以我按简单的纯前端实现知识库导出excel数据 使用第三方库(如SheetJS) SheetJS是一个流行的JavaScript库,可帮助处理Excel文件。您可以使用SheetJS来将数据导出

    2024年02月16日
    浏览(58)
  • javaScript前端文件一致性校验-md5方法

     需求背景:在处理文件上传时使用了第三方平台存储,后端在下载时需要校验与文件与上传时是否一致,已校验文件是否丢失的问题。如我们公司业务场景使用了分段上传,分段上传如果没有校验合并后的文件是否完整,可能会存在部分数据丢失 处理文件的唯一性可以通过

    2024年04月24日
    浏览(36)
  • 后端:使用easyExcel实现解析Excel文件读取数据。前端:Excel模板下载、前端上传文件

            本篇是EasyExcel快速入门知识,讲解如何读取Excel文件,对Excel中错误信息如空字符、必填项为空、表格格式校验做到处理 ,并给出了实际项目中示例代码;为什么要使用easyexcel;原因是相比于poi,easyexcel更加轻量级,读取写入API方便,并且在工作中占用内存较小;

    2024年02月05日
    浏览(69)
  • JavaScript音视频,使用JavaScript如何在浏览器录制电脑摄像头画面为MP4视频文件并下载视频文件到本地

    本章介绍使用JavaScript如何在浏览器录制电脑摄像头画面为MP4视频文件并下载视频文件到本地。 1、使用navigator.mediaDevices.getUserMedia获取摄像头画面 2、将获取到的摄像头画面渲染到canvas画板上 3、将canvas转换为blob对象 4、通过document.createElement(‘a’)调用 href 方法获取此链接并触

    2024年02月02日
    浏览(79)
  • 【一种使用浏览器读取本地excel、josn等数据文件的方法】Python+JavaScript+HTML实现

    一般来说,为了网络访问安全,浏览器是不能直接加载本地文件的,IE内核的浏览器提供了AX控件实现本地文件的读取,Chrome 86 版本后也提供了相应的API,但都存在使用限制和兼容性问题。有时开发者只是想利用浏览器编制一些简单的脚本完成一些任务,不想学习C、C++、Pyt

    2024年02月07日
    浏览(64)
  • #vue3 实现前端下载excel文件模板功能

    一、需求: 前端无需通过后端接口,即可实现模板下载功能。 通过构造一个 JSON 对象,使用前端常用的 第三方库 xlsx ,可以直接将该 JSON 对象转换成 Excel 文件,让用户下载模板 二、效果: 三、源码如下:

    2024年01月19日
    浏览(64)
  • 【前端下载文件流详解】前端实现多种类型文件(word,excel,pdf,rar,zip等)的下载,接口返回文件流形式(附源码)

    【 写在前面 】其实之前我也写了有关java实现文件的下载,但是当时是局限于excel文档,针对其他类型的并没有介绍,这次刚好有个客户现场反馈回来的,说我们系统确实能下载报告,但是甲方领导要看所有的报告,这不我每天得一个一个的点击下载,然后再打包给他们领导

    2023年04月24日
    浏览(51)
  • vue纯前端实现下载excel文件,本地和测试环境都可正常下载

    vue2纯前端实现下载excel文件,本地和测试环境都可正常下载。 1、把后端给的excel文件放到本地项目文件夹中,位置如图所示: 2、在需要展示下载功能的页面中引入该excel文件,如图所示: 3、使用a链接,href绑定引入的excel文件路径,并添加download属性,download属性值就是下载

    2024年02月13日
    浏览(53)
  • vue+xlsx实现前端模版下载、导入和导出excel文件

    产品需求:后端不想写下载,导入和导出的接口,让我们前端自己实现。 这里我们就可以用xlsx插件来实现,我们不多说了,先放一下实现的图片,下面我们分别把模版下载、导入和导出的代码放上来,想用的话,直接复制粘贴即可! 模版下载图片 导出图片: 好了,下面我

    2024年02月13日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包