はじめに
npmでexcelで検索した結果は5ページもあるのですが、とりあえず気になるものだけ見ていくことにします。
条件は以下の5つです。
- OS XやLinuxで使えること
- MS Officeをインストールしていなくても使えること
- セルに日本語が入ったExcelファイルを作れること
- オープンソースであること
- 無料で使えること
調査メモ
excel
xlsxのパーサのみとのことなのでパス。
excel-libxl
LibXLというC/C++/Delphi/.Net用のライブラリのnode.jsバインディングとのこと。LibXLが有償なのでパス。
excel-multi
readmeの使い方を見るとパーサのみなのでパス。
excel-export
xlsx出力のみ。BSDライセンス。
excel-errors
xlsxパーサのみなのでパス。
node-xlsx
xlsxの読み書き両方対応だが、不自由なライセンス。
excel-api
JExcelApiというJavaで書かれたライブラリのラッパだそうです。npm install excel-api
してfindコマンドでファイルリストを見てみるとjava.cppとかJavaのclassファイルとかjarファイルが含まれてました。
これはやめておこう。
msexcel-builder
excel 2007形式のxlsファイル出力のみ可能。MITライセンス
xlsx-template
xlsx出力のみ。MITライセンス。実際にExcelで保存したファイルの一部をパラメータ化したテンプレートを元に作る方式。
xlsx-writer
xlsx出力のみ。MIT。ライセンス。
json2xls
jsonをxlsxに変換(名前はjson2xlsだけど)。2項BSDライセンス。
pyspreadsheet
xlsとxlsx両対応。読み書き両方可能。MITライセンス
Python ExcelというPython製のライブラリ(BSDスタイルライセンス)を使っている(←どうやって?)。
node_spreadsheet
csv, xls, xlsxの出力に対応。ライセンス記載なし。
PHPExcel - Home(LGPLライセンス)を使用。
xlsx-stream
xlsx出力のみ。MITライセンス。Streamインターフェイス対応。
officegen
pptx, docx, xlsxファイル出力が可能。MITライセンス。
OpenOffice.orgのファイル出力も将来追加予定。
officegen-2
officegenとは別の作者がpie, bar, columnのチャート出力機能を追加したもの。コードがa bit hackyなので別モジュールとして出したとのこと。
officegenで行けました!
とりあえず、officegenを試してみます。readmeがしっかりしていて、バージョン1.0までのロードマップも書いてあり、現在のバージョンも0.2.8と他のモジュールよりは進んでいて(他のは0.0.xのがほとんど)、最終更新日も2日前と新しいです。
追記
node.jsのofficegenで日本語入りのExcelファイルを出力するサンプル - Qiitaに書きました。