4
Help us understand the problem. What are the problem?

posted at

updated at

Node.jsで使えるExcelライブラリ比較

Excelファイルを扱うライブラリが多すぎてどれを使ったらよいかわからないので・・・

結論

データの読み込みだけなら xlsx
Excelのテンプレートに書き込むなら ExcelJS or xlsx-populate
ただし、ExcelJSはかなり多くのバグが放置されているので注意

TypeScript 読み込み 書き込み スタイル設定 スタイル保持 画像挿入 セルコメント
xlsx
xlsx-js-style
node-xlsx
ExcelJS
excel4node
officegen
xlsx-populate

ダウンロード数、スター数などは以下を参考に。


調査メモ

xlsx(SheetJS)・SheetJS Pro

SheetJSからxlsxに名前が変更されたライブラリ。無料版のxlsx(SheetJS)と有料版のSheetJS Proがある。
無料版では読み込んだExcelのスタイルが消える、画像挿入などができない、かなり機能が制限されている。有料のSheetJS Proであればできるらしいが、メールで問い合わせが必要らしく料金も公開されていない。無料版は実質読み込み専用と考えたほうが良いかも。

xlsx-js-style

xlsxのフォーク。スタイルの設定ができるように機能追加されている。これを使っても読み込んだExcelのスタイルは消える。
スタイル機能を追加しているxlsxのフォークはほかにもxlsx-stylesheetjs-styleなどがあるが、xlsx-js-styleは最新のxlsxをフォークしている。

node-xlsx

xlsxのラッパー。データの入出力などの簡単な操作しかしないのであれば。

ExcelJS

xlxsに次いでダウンロード数が多いが800近いIssueがあり、更新停止中。画像挿入に使いたかったがメソッド引数の型定義が間違っていて指定できず。多機能ではあるがバグが多そうな感じ。これなら読み込んだExcelのスタイルは消えなかった。

excel4node

ファイルの生成に特化している。Excelファイルを読み込むことはできない。

officegen

Office Open XML形式でWord、Excel、PowerPointのファイルを生成できる。ファイルの読み込みはなし。

xlsx-populate

ワークブックの機能、スタイルをそのまま維持することに重点を置いているらしい。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
4
Help us understand the problem. What are the problem?