通过exceljs模块读取Excel

时间:2017-10-31 13:01:48

标签: javascript node.js npm exceljs

我正在使用exceljs模块阅读excel。当我的excel文件在同一个文件夹中。它工作正常。

var workbook = new Excel.Workbook(); 
workbook.xlsx.readFile('Data.xls')
    .then(function() {
        var worksheet = workbook.getWorksheet(sheet);
        worksheet.eachRow({ includeEmpty: true }, function(row, rowNumber) {
          console.log("Row " + rowNumber + " = " + JSON.stringify(row.values));
        });
    });

但是当我在其他文件夹中的excel文件并且我尝试使用path给fileName时,它会抛出控制台错误,找不到该文件。 我的文件结构如下:

TestFolder

| ------ nodemodules /

| ------示例/ JS / E2E / fileServer.js

| ------数据/ Data.xls

我的问题是如何在readFile()中提供excel文件的相对路径。我想在Data.xls文件中提供fileServer.js的路径。

1 个答案:

答案 0 :(得分:1)

嗯,我为excel文件选择Relative Path是错误的。正如你可以看到文件结构,我使用了错误的相对路径。

exceljs模块的相对路径应从其根文件夹中获取。 就我而言,正确的路径是:'data/Data.xls'。无论在哪个js文件中,您都会阅读。好吧在我的情况下,我正在从fileServer.js读取这个Data.xls文件。

var workbook = new Excel.Workbook(); 
workbook.xlsx.readFile('data/Data.xls')
    .then(function() {
        var worksheet = workbook.getWorksheet(sheet);
        worksheet.eachRow({ includeEmpty: true }, function(row, rowNumber) {
          console.log("Row " + rowNumber + " = " + JSON.stringify(row.values));
        });
    });