在Node.js中读取Excel文件时出现FileReader错误

时间:2020-09-09 14:49:49

标签: node.js xlsx filereader

我正在尝试读取使用模块'FileReader'和'xlsx'发送到服务器的Excel文件。

var file = body.file;

var xlsx = require('xlsx');
var FileReader = require('FileReader');

var reader = new FileReader();
reader.onload = function (e) {
   var data = new Uint8Array(e.target.result);
   var workbook = xlsx.read(data, { type: 'array' });
};
reader.readAsArrayBuffer(file);

但是运行它时出现此错误:

Error: Cannot find module 'bufferjs/concat'
Require stack:
- C:\GitHub\ECM-Back\node_modules\FileReader\FileReader.js
- C:\GitHub\ECM-Back\controllers\projects.controller.js
- C:\GitHub\ECM-Back\routes\projects.route.js
- C:\GitHub\ECM-Back\app.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:957:15)
    at Function.Module._load (internal/modules/cjs/loader.js:840:27)
    at Module.require (internal/modules/cjs/loader.js:1019:19)
    at require (internal/modules/cjs/helpers.js:77:18)
    at new FileReader (C:\GitHub\ECM-Back\node_modules\FileReader\FileReader.js:62:5)
    at projects_importData (C:\GitHub\ECM-Back\controllers\projects.controller.js:184:16)
    at Layer.handle [as handle_request] (C:\GitHub\ECM-Back\node_modules\express\lib\router\layer.js:95:5)
    at next (C:\GitHub\ECM-Back\node_modules\express\lib\router\route.js:137:13)
    at C:\GitHub\ECM-Back\controllers\auth.controller.js:650:37
    at tryCatcher (C:\GitHub\ECM-Back\node_modules\bluebird\js\release\util.js:16:23)
    at Promise._settlePromiseFromHandler (C:\GitHub\ECM-Back\node_modules\bluebird\js\release\promise.js:517:31)
    at Promise._settlePromise (C:\GitHub\ECM-Back\node_modules\bluebird\js\release\promise.js:574:18)
    at Promise._settlePromise0 (C:\GitHub\ECM-Back\node_modules\bluebird\js\release\promise.js:619:10)
    at Promise._settlePromises (C:\GitHub\ECM-Back\node_modules\bluebird\js\release\promise.js:699:18)
    at _drainQueueStep (C:\GitHub\ECM-Back\node_modules\bluebird\js\release\async.js:138:12)
    at _drainQueue (C:\GitHub\ECM-Back\node_modules\bluebird\js\release\async.js:131:9)

我已经将'bufferjs'安装到我的node.js系统中。

1 个答案:

答案 0 :(得分:0)

由于我使用的是FileReader的新按键,因此我认为出现此错误。

相关问题