nodejs操作xls文件遇到的问题!求帮助!
发布于 10 年前 作者 anhchilyun 6204 次浏览 最后一次编辑是 8 年前 来自 问答

代码如下:

var excelParser = require('excel-parser');
var path = require('path');
var fs = require('fs');
var prefix = path.join(__dirname,'./resource/');
var getXlsData = funtion (xls,callback){
    excelParser.parse({
        inFile: xls,
        worksheet: 4,
        skipEmpty: true,
        searchFor: {
            type:'loose'
        }
    },function(err, records){
        if(err){
            return callback(err,null);
        }
        //delete records[0];
        return callback(null, records);
    });
}
// 单独调用getXlsData函数,结果正常,获得一个二位数组值。
getXlsData('/home/test.xls', function(err, ret){
    console.log(err);
    console.log(ret);
})
// 获得xls文件路径数组
var xlsList = function(callback){
    var xls = [];
    fs.readdir(prefix, function(err,files){
        if(err) process.exit(0);
        files.forEach(function(file){
            xls.push(path.join(prefix, file, file.concat('.xls')));
        });
        callback(xls);
    })
}
//
xlsList(function(xlss){
    xlss.forEach(function(xls)){
        getXlsData(xls, function(err, ret){
            if(!ret){
               console.log(xls)
           }
           console.log(ret);
        });
    });   
});
1 回复

不知道为啥,循环去读取xls文件,就会报错:{ [Error: ENOENT, open ‘/tmp/temp114610-16284-lm488k/convert.csv’] errno: 34, code: ‘ENOENT’, path: ‘/tmp/temp114610-16284-lm488k/convert.csv’ }; 单独去读xls文件是可以的!

回到顶部