グリッドとスプレッドシート。SPREAD for WPFはなぜ2つのコントロールを提供するのか?

2020年3月26日にリリースした「SPREAD for WPF(スプレッド)」の最新バージョン「3.0J」では、従来提供していたグリッドコントロール「GcSpreadGrid」に加え、スプレッドシートコントロール「GcSpreadSheet」を新たに提供します。

GcSpreadGridとGcSpreadSheetはどちらも表計算機能を提供するコントロールですが、なぜSPREAD for WPFはこのような2つの類似のコントロールを持つのでしょうか。

今回はGcSpreadGridとGcSpreadSheetそれぞれの特長について紹介し、それぞれどのように使い分けたらよいのか、を解説したいと思います。

表としての機能に磨きをかけたGcSpreadGrid

GcSpreadGridはSPREAD for WPFのバージョン「1.0J」から提供しているコントロールで、「表」に対する完全なソリューションをコンセプトとしています。

GcSpreadGrid

Windows Forms版をはじめとしたSPREADシリーズの大きな特長は「Excelライク」ですが、GcSpreadGridは、Excelライクな部分を残しながら、一覧表に関係のない機能を排除することで、他のプラットフォームのSPREAD以上に表機能を強化できました。

GcSpreadGridが強化した表機能

  • 1レコード複数行レイアウト
    1 レコードに複数の行を持つ表レイアウトを、容易に設計できる機能を提供しています。

    1レコード複数行レイアウト

    Windows Formsでは「MultiRowPlus for Windows Forms(マルチロウ プラス)」、JavaScriptでは「Wijmo(ウィジモ)」の「MultiRow」と、他のプラットフォームでは、SPREAD以外の製品が提供するこの機能を、WPFではGcSpreadGridが提供します。

  • グループ化と集計機能
    表のグループ化や集計機能を搭載しています。集計には、SPREADが提供する豊富な組込み関数を活用し、プロパティからグループ集計の設定も可能です。
    また、GUIでグリッドをデザインできる「GcSpreadGridデザイナ」が提供するグループデザイナ機能を使用して、デザイン時に明細をグループ化することもできます。

    強化されたグループ化と集計機能

GcSpreadGridが提供しない機能

表機能を強化し、グリッドコントロールとして進化したGcSpreadGridでは、Excelが持つ以下のような機能を提供していません。

  • マルチシート
  • チャート
  • シェイプ
  • アウトライン
  • ビューポート
  • …etc

Excel互換を追求するGcSpreadSheet

その一方で、従来のSPREADシリーズが持つようなExcel互換機能を求めるお客様も多数おられました。

そういったお客様の声に応える形でバージョン「3.0J」で追加されたのが、Excelとの互換性を重視して設計されたスプレッドシートコントロール「GcSpreadSheet」です。

GcSpreadSheet

GcSpreadSheetが提供するExcel互換機能

  • マルチシート
    Excelのように複数シートの使用をサポートします。シート間の数式参照やシートの保護などの機能も使用可能です。

    マルチシート

  • アウトライン表示
    アウトラインを作成し、スプレッドシートの行や列をグループ化して表示/非表示を手軽に切り替えることができます。

    アウトライン表示

  • ビューポート
    ビューポートを分割してワークシートを2つまたは4つの領域に分けて表示できます。ワークシートを分割することで、ワークシートの複数セクションを一度に表示でき、データを容易に比較できます。

    ビューポート

開発中のGcSpreadSheetの新機能

GcSpreadSheetでは、次のサービスパック(修正版)で新機能を多数追加予定です。以下、追加予定の機能の一覧の一部を少しお見せします。

  • テーブル機能
    Excelのようにセル範囲を指定して、テーブルを作成できます。
  • マスク型セル
    ユーザーが入力可能なデータの形式を制限できるセル型「マスク型セル」が使用可能になります。
  • CSVへの出力
    CSVファイルへの出力に対応します。
  • アンバウンド行
    データ連結した一覧に対し、データソースに非連結(アンバウンド)な行を挿入できます。
  • データ連結時に新規行の追加
    データ連結した一覧への新規行の追加をサポートします。
  • ヘッダのスタイル
    列ヘッダまたは行ヘッダの外観をカスタマイズできます。
  • セルのデータをドラッグ移動
    指定したセル範囲のデータのドラッグ&ドロップによる移動をサポートします。
  • 数式の追加
    新しいExcel互換の数式としてLET関数をサポートします。
  • 高DPIサポートの強化
    高DPI環境でカーソルアイコンなどが適切なサイズで表示できるようになります。

2つのコントロールで死角なし

GcSpreadGridとGcSpreadSheetは見た目は似通っていますが、それぞれ異なるコンセプトをもったコントロールで、お互いを補完する関係にあります。

また、もちろんこの2つは同一のプロジェクトの中で共存させることができます。

1レコード複数行の表にはGcSpreadGridを、複数シートが必要な画面にはGcSpreadSheet、というように使い分けることで、表計算アプリケーションに求められるあらゆる要件に対応できます。

製品サイトでは、30日間使える無料の評価版や、手軽に機能を確認できるClickOnce形式のデモアプリケーションを公開しているので、是非お試しいただければと思います。

\  この記事をシェアする  /