2017-10-31 20 views
0

私はexceljsモジュールを使用してExcelを読んでいます。私のExcelファイルが同じフォルダにあるとき。それはうまく動作します。exceljsモジュールを介して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は、いくつかの他のフォルダ内のファイルを、私はパスとファイル名を与えることをしようとすると、それはコンソールのエラーをスローし、そのファイルが見つかりません。 私のファイル構造は、以下のようなものです:

TestFolder

| ------ nodemodules/

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

| ------ data/Data.xls

私の質問は、readFile()にExcelファイルの相対パスを指定する方法です。 Data.xlsのパスをfileServer.jsファイルに指定したいと思います。

+0

権限がない可能性がありますか?あなたの環境は何ですか? –

+0

申し訳ありませんが、私は質問を更新しました。私は正しい相対的なパスを提供することに間違っていると思う。 –

+1

問題ありませんので、あなたのパブリックディレクトリ名 'public/data/Data.xls'または' ../data/Data.xls'の相対的な方法で 'data/Data.xls'あなたの権利にも依存します。 Linuxの場合は、ルートプロジェクトに行き、既知の絶対パスを使用して 'pwd'を実行します。 –

答えて

0

さて、私は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)); 
     }); 
    }); 
関連する問題