nodejs-express导出/下载Excel文件
npm install xlsx
npm install stream
数据格式
数据格式:[[表头],[数据1],[数据2]...]
数据顺序与表头顺序一致,eg:
const resData = [ ['登录时间', '手机号', '姓名', '设备号', '设备名', '设备版本'], ["2019/8/29 4:50","17666088943","zkw","863897042302310","OPPO_PBAM00","Android_8.1.0"], ... ] 核心代码
const XLSX = require('xlsx') const stream = require('stream') const urlencode = require('urlencode') router.get('/ex', async function(req, res, next) { // 请求接口 处理数据 // ... // 下载导出Excel const book = XLSX.utils.book_new() const sheet = XLSX.utils.aoa_to_sheet(resData) XLSX.utils.book_append_sheet(book, sheet, '表格名称') const fileContents = XLSX.write(book, { type: 'buffer', bookType: 'xlsx', bookSST: false }) var readStream = new stream.PassThrough() readStream.end(fileContents) let fileName = '表格名称.xlsx' res.set('Content-disposition', 'attachment; filename=' + urlencode(fileName)) res.set('Content-Type', 'text/plain') readStream.pipe(res) })
参考urlencode模块,可以将下载的 Excel 文件名设为中文。
https://juejin.im/post/5c920b36f265da6112563703
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。