node.jsでExcelファイルの読み書き
nodejsの勉強しているけど
コールバックのしくみをいまいち理解できていない
ファイルとかを読み込んだあとに動かすと思われるが引数でどんな値がくるのかよくわかっていないことがおおいので結構混乱する。
Excelでファイルの読み書きを行うことした
モジュールの取り込み
$ npm install exceljs
書き込み
app1.js
// 関連モジュール指定 var Excel = require('exceljs'); // ファイル名 var targetExcelPath = "テストファイル1.xlsx"; // workbook var workbook = new Excel.Workbook(); // workbookの設定 workbook.creator = "Me"; workbook.lastModifiedBy = "Her"; workbook.created = new Date(1985, 8, 30); workbook.modified = new Date(); // シートの追加 var sheet1 = workbook.addWorksheet("テスト1"); var sheet2 = workbook.addWorksheet("テスト2"); var sheet3 = workbook.addWorksheet("テスト3"); // セルに値を設定 for(var i=1;i<=10;i++){ for(var j=1;j<=10;j++){ sheet1.getCell(i, j).value = "i = " + i + " j = " + j; } } // 保存 workbook.xlsx.writeFile(targetExcelPath).then(function() { console.log("write ok!"); });
読み込み
app2.js
// 関連モジュール指定 var Excel = require('exceljs'); // ファイル名 var targetExcelPath = "テストファイル1.xlsx"; // ワークブック指定 var workbook = new Excel.Workbook(); // ファイルを読み込み workbook.xlsx.readFile(targetExcelPath).then(function () { // シートを指定 var sheet1 = workbook.getWorksheet(1); // for(var i=1;i<=10;i++){ var str = ""; for(var j=1;j<=10;j++){ str += sheet1.getCell(i, j).value + ", "; } console.log(str); } });
こんな感じ…