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表相关推荐

  1. JSON数据导出Excel表

    JSON数据导出Excel表 应老板要求写了一个实用的小功能,需求是将api接口返回的JSON数据导出Excel表,过程中改了两稿,一是前端js直接导出一个表,另一是分门别类在java中同时导出多个表 ...

  2. django 导出数据到excel表 导出excel表到目标路径及客户端下载

    python导出excel表利用的是xlwt模块 学习的网址 大佬教学网址 导出数据到excel表 下面是代码 import os from xlwt import Workbook from inf ...

  3. java 列表数据List通过模板导出excel表和word表

    1.maven需要的jar包 <!-- exl导出 --> <dependency><groupId>net.sf.jxls</groupId>< ...

  4. java 动态导出excel表单 无模板本地生成

    java 动态导出excel表单 无模板本地生成 这里使用的是alibaba的公共类excelWriter,注意在pom文件中要引入easyExcel的依赖 public void exportExc ...

  5. POI封装工具easyexcel导出EXCEL表样式设置

    POI封装工具easyexcel导出EXCEL表样式设置 java中对Office操作比较好的工具是POI,但POI在导出数据量较大的情况下很容易因内存占用过大,而出错,阿里巴巴推出的easyexce ...

  6. Java导出Excel表

    excel表导出三步骤:引入依赖.代码详解.导出excel后缀 导出样式:自适应列宽,标题.表头.数据 1.首先引入poi依赖 <!-- 导出excel表,引入poi -->        ...

  7. 小功能实现(四)使用easyExcel将ArrayList<HashMap>类型的数据导出Excel表

    小功能介绍 原数据是ArrayList类型,将其中的值取出并赋值到要导出的Excel表对象中,类型为ArrayList,最后导出Excel表 使用的工具是easyExcel,使用起来比原生的Excel ...

  8. ASP.Net导出EXCEL表(小结)

    这个问题困扰了我好几天,现在终于解决了,现公布整个过程的注意点.通过.net导出Excel表,除了注意导出的方法外,还要关心资源的回收问题,中间涉及到COM组件的关闭等. 因为对windows系统.. ...

  9. 【机房收费系统】---导出Excel表

    一.背景 机房收费系统中有很多地方用到了"导出Excel表"这个功能,那么,怎么导出呢? 二.导出Excel表 1.电脑安装office 2.引用 之前已经有一篇博客介绍过如何引用 ...

最新文章

  1. css 背景样式学习
  2. .net运行项目的几种形式
  3. Android APK方式换肤实现原理
  4. HashMap 和HashTable区别和实现原理。
  5. python中的捕获异常、异常跟踪
  6. 针对Selenium环境搭建的一些小解说
  7. Flink学习笔记01:初探Flink - 词频统计
  8. 人工智能TensorFlow工作笔记010---TensorFlow 游乐场游戏,了解神经网络主要功能作用_工作流程
  9. 元数据管理Atlas
  10. NSACE|网络信息安全技术,你不能忽视的存在
  11. 西数硬盘刷新固件_关于西数硬盘转速的fake news
  12. 聊聊千古名方逍遥丸【转载】
  13. AspectJ自定义注解报错:error Type referred to is not an annotation type:xxx -----IllegalArgumentException
  14. 当系统logoff或shutdown时,让应用程序正常关闭
  15. Spring 微服务实战
  16. vue组件封装——公用基础table组件
  17. EAST: An Efficient and Accurate Scene Text Detector 论文阅读
  18. input 限制输入2位小数
  19. C语言中Switch语句的范围比较解决方案(学习笔记)
  20. 人工智能、大数据投身体育赛场 是搅局还是颠覆?

热门文章

  1. 移动端调试神器 whistle
  2. 自动维护Windows XP另辟蹊径
  3. 我刚刚学摄影 我想提高我的摄影水平
  4. 163邮箱的格式什么样的?常见的电子邮箱品牌有哪些?
  5. 学习笔记:Unet++训练过程中存在的问题记录
  6. 广告点阵屏和熟悉字模软件的使用
  7. 广西棒球未来规划·棒球1号位
  8. VUE正则表达式验证规则合集
  9. EXCEL 把几列排列组合列出所有排列组合情况的绿色工具
  10. 关于发表微信朋友圈图片的问题