今回はNode.jsを使いエクセルをパースするモジュールを紹介しようと思います。
まずは、npm(Node package manager)から、ミドルウェアをインストールします。
プロジェクトをC:\develop配下に作成した後、以下のコマンドを実行します。
cd C:\develop\nodeApp
npm install xlsx
次に、jsファイルを作成します。
今回は先頭のシートをまるごとオブジェクトとして取得しようと思います。
まずはxlsxモジュールの読み込みを行います。
const xlsx = require('xlsx');
次に、ワークブックオブジェクトを取得します。
exports.getWorkBook = function(filePath) {
// sheetStubs:値が空のセルをスタブセルとして扱うオプション
let options = { sheetStubs: true };
let workbook = xlsx.readFile(filePath, options);
return workbook;
}
次に、ワークブックオブジェクトから先頭シートに対応するオブジェクトを取得します。
exports.getFirstSheetObj = function(workbook) {
let firstSheetName = workbook.SheetNames[0];
let firstSheetOjb = workbook.Sheets[firstSheetName];
return firstSheetOjb;
}
ちなみに、A1セルの値を取得したい場合はこんな感じで取得できます。
firstSheetOjb['A1']['v'];
※sheetStubsオプションを省略した場合、取得する方法が変わりますのでご注意ください。