node egg 导入xlxs

    技术2022-07-12  84

    node egg 导入xlxs

    node egg导入xlxs遇到的坑记录一下

    'use strict'; const util = require('../utils/util') const Controller = require('egg').Controller; const XLSX = require('xlsx'); class ExcelController extends Controller { async index() { const {ctx, app, service} = this; const stream = await ctx.getFileStream(); // 存储获取到的数据 let exceldata = []; await new Promise((resolve, reject) => stream.on('data', (chunk) => { // 读取内容 const workbook = XLSX.read(chunk, {type: 'buffer'}); // 遍历每张工作表进行读取(这里默认只读取第一张表) for (const sheet in workbook.Sheets) { if (workbook.Sheets.hasOwnProperty(sheet)) { // 利用 sheet_to_json 方法将 excel 转成 json 数据 exceldata = exceldata.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet])); //break; // 如果只取第一张表,就取消注释这行 } } resolve(exceldata) })) const res = await service.excel.insertExceldata(exceldata); ctx.body =util.resData(1,'success',res.affectedRows) } } module.exports = ExcelController

    如果出现node无法识别xlsx文件需要在 config.default.js设置

    config.multipart = { fileExtensions: ['.xlsx'], // 对应文件类型 };

    ps:postmam 上传文件

    Processed: 0.011, SQL: 9