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オブジェクトになっていますね。
あとはこれを好きなように操作して画面に表示するもよし、ファイルに書き出したい時は前回の手順でファイルに出力します。