nodejs用xlsx导出excel表
nodejs+jsxlsx使用文件流方式下载excel
- 简介
- 1.安装依赖
- 2.导入xlsx库
- 3.查询所需导出的数据
- 4.将数据转成Excel表横坐标展示的
- 5.创建表格
- 6.数据装载到工作薄上
- 7.最后就是采用文件流的方式相应的设置
- 8.设置文件名之类的
- 9.想要中文表头
简介
本文介绍用 Node.js 中的依赖库来处理 Excel 文件,主要利用js-xlsx库来处理 Excel 文件。
1.安装依赖
npm install xlsx
2.导入xlsx库
const Excel = require ('xlsx')
3.查询所需导出的数据
栗子:
const users = await this._User.findAll({attributes:['firstName', 'lastName', 'email']})
4.将数据转成Excel表横坐标展示的
假如数据的类型是json,如下所示:
let ws = Excel.utils.json_to_sheet(users)//这里的users就是数据
数据类型是数组的话,如下所示:
let ws = Excel.utils.aoa_to_sheet(users)
我这里是第一种✌️
5.创建表格
let wb = Excel.utils.book_new()
6.数据装载到工作薄上
Excel.utils.book_append_sheet(wb, ws, 'users用户信息')//最后那个是工作薄表的命名
7.最后就是采用文件流的方式相应的设置
let buf = Excel.write(wb, {type: 'buffer',bookType: 'xlsx'})
8.设置文件名之类的
let filename = 'users.xlsx'ctx.set('Content-disposition', 'attachment; filename=' + filename);ctx.type = "xlsx"ctx.body = bufreturn buf
9.好啦可以试试 应该就成功啦
9.想要中文表头
下面直接粘贴源码吧!
const fields = [ 'firstName', 'lastName', 'email', 'describe.introduce', 'describe.age']const titles = {firstName: '姓',lastName: '名',email: '邮件','describe.introduce': '介绍','describe.age': '年龄'}const ws = Excel.utils.json_to_sheet(users, { header: fields})const range = Excel.utils.decode_range(ws['!ref'])for(let c = range.s.c; c <= range.e.c; c++) {const header = Excel.utils.encode_col(c) + '1'ws[header].v = titles[ ws[header].v ]}
nodejs用xlsx导出excel表相关推荐
- JSON数据导出Excel表
JSON数据导出Excel表 应老板要求写了一个实用的小功能,需求是将api接口返回的JSON数据导出Excel表,过程中改了两稿,一是前端js直接导出一个表,另一是分门别类在java中同时导出多个表 ...
- django 导出数据到excel表 导出excel表到目标路径及客户端下载
python导出excel表利用的是xlwt模块 学习的网址 大佬教学网址 导出数据到excel表 下面是代码 import os from xlwt import Workbook from inf ...
- java 列表数据List通过模板导出excel表和word表
1.maven需要的jar包 <!-- exl导出 --> <dependency><groupId>net.sf.jxls</groupId>< ...
- java 动态导出excel表单 无模板本地生成
java 动态导出excel表单 无模板本地生成 这里使用的是alibaba的公共类excelWriter,注意在pom文件中要引入easyExcel的依赖 public void exportExc ...
- POI封装工具easyexcel导出EXCEL表样式设置
POI封装工具easyexcel导出EXCEL表样式设置 java中对Office操作比较好的工具是POI,但POI在导出数据量较大的情况下很容易因内存占用过大,而出错,阿里巴巴推出的easyexce ...
- Java导出Excel表
excel表导出三步骤:引入依赖.代码详解.导出excel后缀 导出样式:自适应列宽,标题.表头.数据 1.首先引入poi依赖 <!-- 导出excel表,引入poi --> ...
- 小功能实现(四)使用easyExcel将ArrayList<HashMap>类型的数据导出Excel表
小功能介绍 原数据是ArrayList类型,将其中的值取出并赋值到要导出的Excel表对象中,类型为ArrayList,最后导出Excel表 使用的工具是easyExcel,使用起来比原生的Excel ...
- ASP.Net导出EXCEL表(小结)
这个问题困扰了我好几天,现在终于解决了,现公布整个过程的注意点.通过.net导出Excel表,除了注意导出的方法外,还要关心资源的回收问题,中间涉及到COM组件的关闭等. 因为对windows系统.. ...
- 【机房收费系统】---导出Excel表
一.背景 机房收费系统中有很多地方用到了"导出Excel表"这个功能,那么,怎么导出呢? 二.导出Excel表 1.电脑安装office 2.引用 之前已经有一篇博客介绍过如何引用 ...
最新文章
- css 背景样式学习
- .net运行项目的几种形式
- Android APK方式换肤实现原理
- HashMap 和HashTable区别和实现原理。
- python中的捕获异常、异常跟踪
- 针对Selenium环境搭建的一些小解说
- Flink学习笔记01:初探Flink - 词频统计
- 人工智能TensorFlow工作笔记010---TensorFlow 游乐场游戏,了解神经网络主要功能作用_工作流程
- 元数据管理Atlas
- NSACE|网络信息安全技术,你不能忽视的存在
- 西数硬盘刷新固件_关于西数硬盘转速的fake news
- 聊聊千古名方逍遥丸【转载】
- AspectJ自定义注解报错:error Type referred to is not an annotation type:xxx -----IllegalArgumentException
- 当系统logoff或shutdown时,让应用程序正常关闭
- Spring 微服务实战
- vue组件封装——公用基础table组件
- EAST: An Efficient and Accurate Scene Text Detector 论文阅读
- input 限制输入2位小数
- C语言中Switch语句的范围比较解决方案(学习笔记)
- 人工智能、大数据投身体育赛场 是搅局还是颠覆?