nodejs excel导入导出
- nodejs excel导入导出
- 用excel-export包导出
- 1安装excel-export
- 2自定义exportExcel函数封装
- 3业务使用
- excel导入
- 1需要安装的包
- 2前端代码示例
- 3后端代码示例
- 用excel-export包导出
nodejs excel导入导出
用excel-export包导出
1.1安装excel-export
npm install --save excel-export
1.2自定义exportExcel函数,封装
var nodeExcel = require('excel-export');/*** 导出excel* @param _headers example [{caption:'用户状态',type:'string'},{caption:'部门',type:'string'},{caption:'姓名',type:'string'},{caption:'邮箱',type:'string'},{caption:'有效期',type:'string'},{caption:'身份',type:'string'}];* @param rows example [['未激活','信息部','testname','123@qq.com','2019-11-09','管理员'],['未激活','信息部','testname2','12345@qq.com','2019-11-09','普通成员']]*/
exports.exportExcel = function(_headers,rows){var conf ={};conf.name = "mysheet";conf.cols = [];for(var i = 0; i < _headers.length; i++){var col = {};col.caption = _headers[i].caption;col.type = _headers[i].type;conf.cols.push(col);}conf.rows = rows;var result = nodeExcel.execute(conf);return result;
}
1.3业务使用
....
router.get('/exportMember',function(req, res) {.....
//自己构造_headers和rows,导出excel
var result = exportExcel(_headers,rows);res.setHeader('Content-Type', 'application/vnd.openxmlformats');res.setHeader("Content-Disposition", "attachment; filename=" + "test.xlsx");res.end(result, 'binary');return;
}
excel导入
1需要安装的包
npm install --save busboy //用来解析前端传的流文件
npm install --save xlsx //解析excel文件
2前端代码示例
//enctype 必须设置成这种,可以将文件已流的形式传送到后台<form action="http://localhost:3001/system/importAccount" method='post' enctype="multipart/form-data"> <input type='file' name='file'> <input type='submit' value='submit'> </form>
3后端代码示例
let XLSX = require('xlsx');
let Busboy = require('busboy');
......
......
//导入excel解析出来
router.get('/importMember',function(req, res) {......
......let busboy = new Busboy({headers: req.headers,limits: {files: 1,fileSize: 50000000}});busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {file.on('limit', function() {res.json(Result.FAIL('To large'));return});file.on('data', function(data) {console.log('File [' + fieldname + '] got ' + data.length + ' bytes');var workbook = XLSX.read(data);var sheetNames = workbook.SheetNames; // 返回 ['sheet1', 'sheet2',……]var worksheet = workbook.Sheets[sheetNames[0]];// 获取excel的第一个表格var ref = worksheet['!ref']; //获取excel的有效范围,比如A1:F20var reg = /[a-zA-Z]/g;ref = ref.replace(reg,"");var line = parseInt(ref.split(':')[1]); // 获取excel的有效行数console.log("line====>",line);// header ['姓名','邮箱','身份','部门','手机号'] //循环读出每一行,然后处理 for(var i = 2; i <= line; i++){if(!worksheet['A'+i] && !worksheet['B'+i] && !worksheet['C'+i] && !worksheet['D'+i] && !worksheet['E'+i] && i != 2){ //如果大于2的某行为空,则下面的行不算了break;}var name = worksheet['A'+i].v || '';var email = worksheet['B'+i].v || '';var role = worksheet['C'+i].v || '';var department = worksheet['D'+i].v || '';console.log("department===>",department);var phone = worksheet['E'+i].v || '';..............}}})return req.pipe(busboy);
})
nodejs excel导入导出相关推荐
- 注解+反射优雅的实现Excel导入导出(通用版)
以下文章来源方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/youzi1394046585/ article/details/86670203 日常在做后 ...
- java超级简单到爆的Excel导入导出(easypoi)
场景: 在日常工作中,excel导入导出,是十分常见的,有两种主流的技术,一种是jxl,另一种是poi,而easypoi就是对poi进行了封装,使得导入导出变得更加的简单,阿里巴巴也有封装的工具名叫E ...
- 一个基于POI的通用excel导入导出工具类的简单实现及使用方法
前言: 最近PM来了一个需求,简单来说就是在录入数据时一条一条插入到系统显得非常麻烦,让我实现一个直接通过excel导入的方法一次性录入所有数据.网上关于excel导入导出的例子很多,但大多相互借鉴. ...
- easyexcel 设置标题_EasyExcel,让 excel 导入导出更加简单
做积极的人,而不是积极废人! 来源:jianshu.com/p/8f3defdc76d4EasyExcelGitHub上的官方说明快速开始maven仓库地址导入导出总结 EasyExcel 在做exc ...
- excel winform 导入 导出_强大的 Excel 导入导出工具 hutool
" 最近项目上需要用到 Excel 的导入导出功能,想着之前使用的都有点麻烦,所以结合多方资料,终于找到了这个还算不错的 Excel 处理工具,一起来看" 今日安利好物名为 Hut ...
- easypoi 多sheet导入_程序员接私活利器 玩转excel导入导出
为什么会写Easypoi 以前的以前(岁月真TMD的快)我虽然写了不少代码但还是很少写poi,然后跳到一家公司之后就和业务人员聊上了,来这个需要个报表,这个报表样式是这样的,这个表头是这样的,就这样我 ...
- SpringBoot集成EasyPoi实现Excel导入导出
作者介绍: 本人Java特工,代号:Cris Li : 中文名:克瑞斯理 简书地址: 消失的码农 - 简书 CSDN地址: https://blog.csdn.net/jianli95 个人纯洁版博客 ...
- SpringBoot实现Excel导入导出,好用到爆,POI可以扔掉了!
在我们平时工作中经常会遇到要操作Excel的功能,比如导出个用户信息或者订单信息的Excel报表.你肯定听说过POI这个东西,可以实现.但是POI实现的API确实很麻烦,它需要写那种逐行解析的代码(类 ...
- 【飞秋】ASP.NET 之 常用类、方法的超级总结,并包含动态的EXCEL导入导出功能,奉上类库源码
最近闲了,花点几天时间将项目中常用的一些类.方法做了一下总结,希望对大家有用. 实用类:UtilityClass 包含如下方法 判断对象是否为空或NULL,如果是空或NULL返回true,否则返回fa ...
最新文章
- Word无法使用超链接,提示:“由于本机的限制...”
- C++中的类所占内存空间总结
- SugarCRM 去掉 模块标题左边的 问号 和 帮助
- 无盘服务器回写盘intel,无盘回写盘碎片清理工具 完美解决无盘回写盘碎片
- SQL一些时间格式的转换
- Atitit.提升电子商务安全性 在线充值功能安全方面的设计
- 有时候能讲出来,比沉默要好吧
- 文件读写’r'和’rb’区别
- java jxl包_Java开源20个项目,最好别错过,帮助你灵活应对面试师的刁难
- 杭州登山地图是谁开发的_浙江新添7个省级运动休闲小镇!杭州这个地方榜上有名!...
- Excel函数、快捷键等
- Pseudo-terminal will not be allocated because stdin is not a terminal
- KernelBase.dll中有未经处理的异常,求助大神!!!
- java百度天气接口解析_Java调用天气接口(百度天气)解析返回的JSON数据
- Android多语言设置
- 计算机硬件的发展经历了电子管时代,计算机硬件的发展经历了电子管时代、晶体管时代、集成电路时代和_______。...
- Python3.6下CMD命令安装ipython
- 人脸识别评价参数之FAR和FRR
- GD32F407移植SR8201F
- 什么是过孔式导电滑环?