81
87

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

node.jsで日本語入りのExcelを出力できるモジュールを探したときのメモ

Last updated at Posted at 2014-03-08

はじめに

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に書きました。

81
87
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
81
87

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?