Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

はじめに

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away