2017-10-07 20 views
1

私はエクセルを作成しようとしましたが、コミットエラーが発生しました。私のコードで何が間違っている。私がsheet.commit()を削除し、workbook.commit()プログラムが正常に動作する場合exceljsでコミットエラー

const Excel = require('exceljs'); 
const fs = require('fs'); 

const workbook = new Excel.Workbook(); 
const sheet = workbook.addWorksheet("MySheet"); 
const writeToExcel = fs.createWriteStream("./test/testfile.xlsx"); 

sheet.columns = [ 
    { header: 'Id', key: 'id', width: 10 }, 
    { header: 'Name', key: 'name', width: 40 }, 
    { header: 'DOB', key: 'dob', width: 10, outlineLevel: 1} 
]; 


let names = ['Windows', 'Mac Os', 'Ubuntu', 'B OS']; 
let i = 2; 

names.forEach((singleName) => { 
    let row = sheet.getRow(i); 
    row.values = { 
     id: i-1, 
     name: singleName, 
     dob: new Date() 
    }; 
    row.commit(); 
    i++; 
}); 

sheet.commit(); 
workbook.commit(); 

workbook.xlsx.write(writeToExcel) 
.then((response) => { 
    console.log("Excel file is created with data."); 
}) 
.catch((error) => { 
    console.log("Some problem in creating an excel file. Please check for errors..."); 
}); 

下記の通りです。

λ node excel.js 
c:\Personal\node_projects\node-js-playlist-master\excel.js:29 
sheet.commit(); 
    ^

TypeError: sheet.commit is not a function 
    at Object.<anonymous> (c:\Personal\node_projects\node-js-playlist-master\excel.js:29:7) 
    at Module._compile (module.js:624:30) 

シートコミットを削除すると、ブックブックのコミットラインにエラーがスローされます。あなたの答えが見つかったかどうかわかりません。

+0

何か助けが必要です。 – mmar

+0

これについての助けてください.... – mmar

答えて

0

コミット機能を持つオブジェクトは、行とXLSXストリームのみです。

あなたはすでにそれ自体で、シートが無い機能をコミットしている

row.commit(); 

ですべての行をコミットし、行が行います。例の中でおそらく見つかったのは、次のようなものでした:

sheet.addRow([...]).commit(); 

しかし、それはシート上で行にコミットされていません。

ブックコミットについて。コミットのthis exampleが見受けられましたが、XLSXストリームのコミットであり、ブック自体ではありません。

関連する問題