【问题标题】:Reading Excel through exceljs module通过exceljs模块读取Excel
【发布时间】:2017-10-31 13:01:47
【问题描述】:

我正在使用 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 文件在其他文件夹中并且我尝试为 fileName 提供路径时,它会引发控制台错误,找不到该文件。 我的文件结构如下:

测试文件夹

|------nodemodules/

|------example/js/e2e/fileServer.js

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

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

【问题讨论】:

  • 可能你没有权限?你的环境是什么?
  • 抱歉,我已经更新了我的问题。我认为我提供正确的相对路径是错误的。
  • 没问题,所以尝试一个以公共目录名称为起始宽度的路径:public/data/Data.xls../data/Data.xls 的相对方式可能可以通过data/Data.xls 访问,这也取决于您的权利。如果您使用的是 linux 方式,请转到根项目并使用 pwd 对已知的绝对路径执行操作。
  • 谢谢headmax,成功了

标签: javascript node.js npm exceljs


【解决方案1】:

好吧,我为 excel 文件采用相对路径是错误的。正如你所看到的文件结构,我使用了错误的相对路径。

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));
        });
    });

【讨论】:

    猜你喜欢
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    • 2020-10-07
    • 1970-01-01
    • 2013-09-29
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多