SEVENSPIRALS

XLSX.jsでnode.jsからxlsxファイルを読む

プログラミング

というわけで前回の続きです。

今回は既にあるxlsxファイルを読み込んでnode.jsから操作します。

内容としては前回の出力処理の逆をやれば良いだけです。

ここでは前回作成したxlsxファイルを"input.xlsx"として読み込んでみます。

XLSX.js単体でxlsxファイルを読み込むときは、

new xlsx(<base64文字列>)

となるので、node.jsではfs.readFileで読み込んだBufferオブジェクトをtoString("base64")で変換して渡してやります。

xlsx = require 'node-xlsx'

fs = require "fs"

buf = fs.readFileSync("input.xlsx")

# base64にエンコードしてから読み込み
book = new xlsx(buf.toString("base64"))

console.log JSON.stringify(book)

このサンプルを実行すると以下のような出力が得られます。

{"worksheets":[[[100,200]]],"zipTime":17,"creator":"syaku","lastModifiedBy":"XLSX.js","created":"2012-10-27T14:05:56.857Z","modified":"2012-10-27T14:05:56.857Z","activeWorksheet":0,"processTime":0}

ちゃんとJSONオブジェクトになっていますね。

あとはこれを好きなように操作して画面に表示するもよし、ファイルに書き出したい時は前回の手順でファイルに出力します。