FlexSheetとSpreadJSの機能比較表
スプレッドシートは行列形式のUIと表計算の機能を備えたソフトウェアで、データ表示・集計・分析など幅広い用途で活用されています。なかでもMicrosoft Excel®は、業務の現場で最も広く使われている代表的なスプレッドシートソフトであり、その操作感や機能性は多くのユーザーにとって非常に馴染み深いものとなっています。
近年では、業務のデジタル化やクラウド化が進む中で、SaaSや業務システムでもExcelユーザーが違和感なく使えるExcelライクなUIや操作性を求める声が高まってきており、こうしたニーズに応える手段のひとつが、Webアプリケーションに組み込めるスプレッドシートコントロールです。
ただし、スプレッドシートコントロールにはさまざまな種類が存在し、それぞれ対応できる機能には違いがあります。特にExcelライクなUIの実現を目的としている場合、スプレッドシートコントロールの選定を誤ると、ユーザーが期待する操作性を実現できず、開発工数の増加やUIの使い勝手の低下といった問題を引き起こすこともあります。したがって、用途や要件に応じて最適なスプレッドシートライブラリを見極めることが重要なポイントです。
本ページは、JavaScriptコントロールセット「Wijmo(ウィジモ)」に収録のスプレッドシートコントロール「FlexSheet(フレックスシート)」と、Excelライクなスプレッドシートライブラリ「SpreadJS(スプレッド JS)」の機能を比較しやすいよう一覧にしたものです。それぞれの製品を選定される際の資料としてご活用ください。なお、本資料の内容は2025年10月現在の情報に基づき記載されています。内容は予告なく変更する場合がございますので、ご了承ください。
FlexSheetについて
グリッド、チャート、入力、ピボットなど40以上のコントロールを備え、さまざまなWebアプリ開発に対応するJavaScript UIライブラリ「Wijmo」に収録のスプレッドシートコントロールです。数式、セルの書式や固定行・列、アンドゥ・リドゥ、データの Excel 入出力といった機能を提供します。
SpreadJSについて
WebアプリケーションでMicrosoft Excel®ライクなUIを実現するために開発されたJavaScriptライブラリです。フィルタや表計算関数、条件付き書式など、豊富なExcel互換機能を搭載したスプレッドシートをブラウザ上に描画し、エンドユーザーになじみのあるUIと操作性を提供します。
機能詳細
類似の特徴をもつ機能ごとにFlexSheetとSpreadJSを比較します。以降のセクションにおける比較表内の記号の意味は以下の通りです。
○:対象のコントロールに機能を搭載している
△:対象のコントロールに機能の一部を搭載している、または対象のコントロールに直接の機能はないが、実現方法あり
―:機能を搭載していない
なお、「△」の項目における具体的な実現方法については各表の下部にある注釈をご確認ください。
Excel入出力
この項目ではFlexSheetとSpreadJSのExcel入出力機能について比較を行います。どちらのコントロールもExcelファイルのインポート/エクスポートに対応していますが、SpreadJSではより多くのExcelの設定を維持したままインポート/エクスポートが可能です。
| 機能 | FlexSheet | SpreadJS | |
|---|---|---|---|
| 対応ファイル形式 | xlsx形式 | ○ | ○ |
| xls形式 | |||
| xlsm形式 | ○※1・2 | ||
| ブックの設定 | パスワードによるファイルの保護 | ○ | |
| 名前付きスタイル | ○ | ||
| アクティブシートのインデックス | ○ | ○ | |
| シートの数 | ○ | ○ | |
| スクロールバー | ○ | ○ | |
| シートタブの表示/非表示 | ○ | ○ | |
| ドキュメントのプロパティ | ○ | ||
| XMLソース | ○※2 | ||
| シートの設定 | シート名 | ○ | ○ |
| 既定の幅 | ○ | ○ | |
| ウィンドウ枠の固定 | ○ | ○ | |
| シェイプ | ○ | ||
| チャート | ○ | ||
| スパークライン | ○ | ||
| セル結合 | ○ | ○ | |
| アクティブセル | ○ | ||
| 選択状態 | ○ | ||
| グリッド線 | ○ | ||
| ズーム | ○ | ||
| テーマ | ○ | ||
| 条件付き書式 | ○ | ||
| タブの色 | ○ | ||
| シート保護 | ○ | ||
| ピボットテーブル | ○ | ||
| テーブル | ○ | ○ | |
| 範囲グループ | ○ | ||
| セルのオーバーフロー | ○ | ||
| フィルタ | ○ | ||
| 印刷・ページレイアウト設定 | ○ | ||
| 行・列の設定 | 非表示に設定された行・列 | ○ | ○ |
| 行の高さ | ○ | ○ | |
| 列の幅 | ○ | ○ | |
| 行・列のヘッダ | ○ | ○ | |
| 行・列の数 | ○ | ○ | |
| 行・列の開始位置(シートのスクロール位置の維持) | ○ | ||
| セルの設定 | セルの色/パターン | ○ | ○ |
| セルの罫線 | ○ | ○ | |
| セルの値 | ○ | ○ | |
| セルのテーマフォント/フォント/フォントタイプ | ○ | ○ | |
| セル文字列の縦位置/横位置 | △※3 | ○ | |
| ロックされたセル | ○ | ||
| 縮小して全体を表示 | ○ | ||
| 折り返して全体を表示 | ○ | ||
| セルのインデント | ○ | ||
| セルの書式 | ○ | ○ | |
| セルに設定された検証 | ○ | ○ | |
| 数式の設定 | セル参照 | ○ | ○ |
| セル参照のスタイル(A1形式/R1C1形式) | △※4 | ○ | |
| 数式 | ○ | ○ | |
| 演算子 | ○ | ○ | |
| 関数 | ○ | ○ | |
| カスタム名(セル範囲、数式) | ○ | ||
| 循環参照・反復計算 | ○ | ||
- インポートしたVBAマクロをSpreadJS上で実行することはできません
- インポートした設定内容を参照したり、編集したりすることはできません
- セルの横位置のみサポート
- A1形式のみサポート
Excel互換機能
この項目ではFlexSheetとSpreadJSのExcel互換機能について比較を行います。基本的なスプレッドシート機能を提供するFlexSheetに対して、ExcelライクをコンセプトとするSpreadJSはチャートやシェイプなどはもちろん、シートやセルの設定/操作などの細い機能も含めて、より多くのExcel互換機能を備えています。
| 機能 | FlexSheet | SpreadJS | ||
|---|---|---|---|---|
| シートの設定/操作 | 新しいシートタブの追加 | ○ | ○ | |
| 行と列の自動調整 | ○ | ○ | ||
| データ連結 | ○ | ○ | ||
| データ検証 | ○※1 | ○※2 | ||
| ドラッグ&ドロップ(行・列) | ○ | ○ | ||
| ドラッグフィル | ○ | ○ | ||
| 検索と置換 | ○ | |||
| フィルタ(列) | ○ | ○ | ||
| フィルタ(範囲) | ○ | |||
| 重複の削除 | ○ | |||
| 行・列の固定 | ○ | ○ | ||
| 行・列のグループ化 | ○ | |||
| 多言語対応 | ○ | ○ | ||
| 行・列の挿入/削除 | ○ | ○ | ||
| Excelライクなキーボード操作 | ○ | ○ | ||
| Excelライクな選択操作(Multiple Selection) | ○ | ○ | ||
| 複数シート(タブ) | ○ | ○ | ||
| チャート | ○※3 | |||
| シェイプ | ○ | |||
| フォームコントロール | ○ | |||
| 画像 | ○ | |||
| フローティングオブジェクト | ○ | |||
| シートの保護/セルのロック | ○ | ○ | ||
| スクロールチップ | ○ | |||
| シートの並べ替え | ○ | ○ | ||
| シートのリネーム | ○ | ○ | ||
| ソート(列) | ○ | ○ | ||
| ソート(範囲) | ○ | |||
| タブナビゲーション(ボタン) | ○ | ○ | ||
| ピボットテーブル | △※4 | ○ | ||
| テーブル | ○ | ○ | ||
| タッチサポート(選択/編集/ほか) | ○ | ○ | ||
| 各シート上でのアンドゥ・リドゥ | ○ | ○ | ||
| ズーム | ○ | |||
| ステータスバー | ○ | |||
| セルの設定/操作 | セルのオーバーフロー表示 | ○ | ||
| メモ | ○ | |||
| 条件付き書式 | △※3 | ○※5 | ||
| セルのコピー/切り取り/貼り付け | ○ | ○ | ||
| ドラッグ&ドロップ(セル範囲) | ○ | ○ | ||
| セルの書式設定 | 数値書式 | ○ | ○ | |
| 配置 | ○ | ○ | ||
| 文字列の均等割り付け | ○ | |||
| 文字列の折り返し | ○ | |||
| 文字の方向 | ○ | ○ | ||
| 文字の回転 | ○ | |||
| セルの結合 | ○ | ○ | ||
| インデント | ||||
| フォント設定(フォントファミリー/スタイル/サイズ/色) | ○ | ○ | ||
| 罫線のスタイル設定 | ○ | |||
| 塗りつぶし | ○ | ○ | ||
| 文字飾り(下線、取り消し線) | ○ | |||
| Excelライクなセルスタイルの設定 | ○ | |||
| ハイパーリンク | ○ | ○ | ||
| 縮小による全体表示 | ○ | |||
| 自動マージ | ○ | |||
| スパークライン | ○ | |||
| コンテキストメニュー | ○※6 | ○ | ||
| リッチテキスト | ○ | |||
| ウォーターマーク | ○ | |||
| インポート/エクスポート(Excelファイル以外) | CSVファイルのインポート/エクスポート | ○ | ||
| PDFファイルのエクスポート | ○ | |||
| HTMLファイルのエクスポート | ○※7 | |||
| 数式・関数 | 数式 | ○ | ○ | |
| 組み込み関数 | ○ (関数一覧) | ○ (関数一覧) | ||
| 名前付きセル/セル範囲(セルの参照) | ○ | |||
| クロスワークブック参照 | ○ | |||
| クロスシート参照 | ○ | ○ | ||
| 配列数式 | ○ | |||
| 動的配列数式 | ○ | |||
| 混合参照(絶対参照・相対参照) | ○ | ○ | ||
| カスタム関数 | ○ | ○ | ||
| 循環参照・反復計算 | ○ | |||
| セル変更(切り取り/貼り付け/ドラッグ/挿入/削除)に対する参照の追従 | ○ | |||
| ワイルドカードの使用 | ○ | |||
| トリム参照 | ○ | |||
| 構造化参照(テーブル用) | ○ | |||
| その他 | リボン | ○ | ||
| 印刷 | ○ | |||
| テーマ | ○ | ○ | ||
| マクロ・VBA | ||||
- itemFormatterを使用して独自ロジックを実装可能
- Excel互換の入力検証
- Excel互換のチャートのほか、データソースに直接連結できる「データチャート」も利用可能
- WijmoのOLAPコントロールで実現可能
- Excel互換の条件付き書式
- 行・列の挿入/削除のみ可能
- toHtmlメソッドでセル範囲をHTMLに出力
Excel互換以外の機能
この項目ではFlexSheetとSpreadJSのExcel互換以外の機能について比較を行います。業務アプリケーション開発での利用を想定して開発された両製品は、Excel互換の機能以外にも業務アプリケーションの利便性を高める機能を備えており、特にSpreadJSはガントチャート開発機能や帳票開発機能など多数の機能を提供します。
| 機能 | FlexSheet | SpreadJS |
|---|---|---|
| アウトライン列(階層表示) | ○ | |
| 複数ヘッダ | ○ | ○ |
| ボタン型セル | ○ | |
| チェックボックス型セル | ○ | |
| コンボボックス型セル | ○ | |
| テンプレート型セル | ○ | |
| ドロップダウン(電卓/日付/カラー/リスト/スライダー等) | ○ | |
| マスク入力 | ○ | |
| HitTestメソッドの実装 | ○ | ○ |
| 末尾行・列の固定 | ○ | |
| フッター | ○ | |
| セルレベルのデータ連結 | ○ | |
| セルの自動マージ | ○ | |
| 背景画像の設定 | ○ | |
| バーコードスパークライン | ○ | |
| InputManJSセル | ○※1 | |
| デザイナ | ○※2 | ○※3 |
| 数式テキストボックス | ○ | |
| 用途特化型シート(データグリッド/ガントチャート/帳票) | ○ |
- InputManJSのライセンスが必要です
- ブラウザ上でWijmoコントロールを作成して構成できるオンラインデザイナを提供
- ブラウザ上で実行可能なオンラインデザイナと、デスクトップアプリのデザイナをそれぞれ提供