excel是常见的表格处理工具,那么前端怎么实现excel生成与下载呢?我们利用xlsx.js来实现

一. 安装js-xlsx

npm install xlsx

二. 文档简介
完成的XLSX对象:

需要理解的术语:
1 workbook是xlsx读取excel内容后的js对象,读取到内容后可以对表格进行操作;同样的也可以创建一个空的workbook,往其中写入内容
完整的workbook对象:
(其中最重要的是两个属性,SheetNames(表名)以及Sheets(数据))
2. XLSX.utils是XLSX重要的一个对象,可以实现读取其他文件格式如: 数组/json/html为workbook形式;同时也可以导出

2.1 数组转为表格并下载

// 1. 准备js数组
const arr = [["序号", "姓名", "公证编号", "手机号", "房号", "身份证号", "类型", "备注"],[1, "刘备", "a1234", "13548182222", "", "1111", "户口入学", "aaa"],[2, "张飞", "b1234", "13548182223", "", "222", "随迁入学", "bbb"],[3, "关羽", "c1234", "13548182224", "", "33333", "户口入学", "ccc"]
];
// 将数组转为sheet
const sheet = XLSX.utils.aoa_to_sheet(arr);// 先组装wookbook数据格式
let workbook = {SheetNames: ['test'], // 总表名Sheets: {test: sheet}, // test是表名
};
// 下载表格
XLSX.writeFile(workbook, 'test.xlsx');

3.2 导入excel并转为数组格式

// 1. 查看workbook对象
function handleFile(e) {var files = e.target.files, f = files[0];var reader = new FileReader();reader.onload = function(e) {var data = new Uint8Array(e.target.result);var workbook = XLSX.read(data, {type: 'array'});/* DO SOMETHING WITH workbook HERE */console.log(workbook)/* 其中workbook.SheetNames[0]是表名下对应的数据 sheet数据 */let arr = XLSX.utils.sheet_to_json(workbook.Sheets[workbook.SheetNames[0]]))};reader.readAsArrayBuffer(f);
}
document.querySelector('#file').addEventListener('change', handleFile, false);

js实现下载excel相关推荐

  1. js vue 下载excel(.xls)文件

    @[TOC](js vue 下载excel(.xls)文件) 先看下载下来的excel文件 1.首先,后端给到的是一个文件在服务器中的存储地址 D:\MaxSecFile\Export\Alarm_2 ...

  2. java使用jxl生成excel表格,jsp使用js下载excel文件xls

    java使用jxl生成excel表格,jsp使用js下载excel文件 后端代码 maven jar包 主体代码逻辑 引入的jar包 具体代码段 重点详解 表头和表格内容两种格式 直接将 HttpSe ...

  3. js下载excel表格,下载pdf

    常见我们会遇到下载一个excel表格模板或者下载一个可以查看的PDF文档. 下载excel表格或者下载一个pdf文档,主要是通过两点来实现的: 1- 在webpack里面配置loader 2- 设置下 ...

  4. js使用js-xlsx插件下载excel

    本文主要是下载excel,上传可以参考原生js使用js-xlsx插件 html <a href="" download="下载文件的名字.xlsx" id ...

  5. Vue.js + axios 实现excel下载

    在以前实现的下载excel功能中,都是用 <a href="xxx">DOWNLOAD</a> 来实现的. 但是由于项目中采用了token验证,上述的做法就 ...

  6. Koa实现下载excel

    Koa实现下载excel #安装 node-xlsx npm install node-xlsx --save 实现思路:将生成的excel文件流返回到前端 routes router.get('/m ...

  7. 【翻译】将Ext JS Grid转换为Excel表格

    原文:Converting an Ext 5 Grid to Excel Spreadsheet 稍微迟来的礼物--Ext JS Grid转为Excel代码,现在支持Ext JS 5! 功能包括: - ...

  8. element-ui上传下载excel(超详细der)

    1. 上传 EXCEL Upload组件 点击跳转到该组件官方文档 用到的upload组件参数 参数 说明 类型 可选 默认值 action 必选参数,上传的地址 string --- --- fil ...

  9. 利用js-xlsx.js插件实现Excel文件导入并解析Excel数据成json数据格式

    <!--本文转载于网络,有太多一样的文章,不知道原作者是哪位了,就不注明出处了.这里记载下来,用于自己的学习借鉴--><!DOCTYPE html><html lang= ...

  10. php通过ajax下载文件,PHP使用ajax的post方式下载excel文件简单示例

    本文实例讲述了PHP使用ajax的post方式下载excel文件.分享给大家供大家参考,具体如下: 项目需求,前端发起ajax请求,后端生成excel并下载,同时需要在header头中,带上token ...

最新文章

  1. 扩展方法必须在非泛型静态类中定义_第11篇:Cython面向对象编程--扩展类的实例化...
  2. python 生成数组1:1:20_英特尔“演化算法”新框架:29个Python代码块,自动生成新算法...
  3. 金叉成功率_一个非常强烈的买卖信号:三金叉见顶,三死叉见底,短短10字,但是成功率却远超“金叉买,死叉卖”...
  4. 服务发现系统consul-HTTP API
  5. 对GCN,Transformer, XLNet, ALBERT, CRF等技术仍然一知半解?再不学习就OUT了!
  6. OLAP-Kylin-大数据Week13-DAY4-Kylin
  7. 如何在macOS Monterey 中开启对焦模式?
  8. 30 | 答疑文章(二):用动态的观点看加锁
  9. Graphical Model(概率图模型)的浅见
  10. 常见排序算法之快速排序
  11. 全能挤房器 v2.1
  12. 【转】数据库一对一、一对多、多对多关系
  13. 企业研发人员配备比例_高新技术企业对研发技术人员占企业总职工人数的比例为多少?...
  14. 论文笔记(CPN):Cascaded Pyramid Network for Multi-Person Pose Estimation
  15. DeepSpeech语音转文本合成技术
  16. 数据结构-算法与算法描述
  17. 支持NDS的视频音频转换软件Xilisoft Video Converter
  18. Hulu推荐 | 五年口碑依旧百分百好评?《汉密尔顿》上线Disney+
  19. python特征选择relieff图像特征优选_python 3.x实现特征选择ReliefF算法
  20. 高通项目端口每次跳出要求安装驱动解决方法

热门文章

  1. 北京建筑大学计算机学院岑孝鹏,北京建筑大学
  2. 中国近代史纲要复盘 | 第一章——第四章思维导图梳理(复习专用)
  3. php微信上传图文素材,php使用curl 上传微信公共平台素材文件
  4. MATLAB计算机器人工作空间【源码】
  5. 【编程语言】面向对象的六大原则
  6. 如何正确地跟二维码里的神仙打架?给小朋友讲解二维码原理
  7. NVIDIA INSTANT NGP
  8. Windows系统邮件中如何绑定QQ邮箱
  9. 亚洲杯:国足告别阿联酋
  10. 回溯法——旅行商(TSP)问题