フレームワークやライブラリが違ってもSpreadJSの利用法は一緒
今回はSpreadJSをVue.jsと組み合わせましたが、SpreadJSはAngularやReactといったフレームワーク・ライブラリとも組み合わせることができます。それぞれの実装方法は各フレームワーク・ライブラリの流儀に従いますが、SpreadJSに関する実装は多くが類似しています。例えば、SpreadJSのコンポーネントをWebページに配置するリスト4の記述は、同じ表示をAngularで行う場合、リスト7となります(このサンプルの詳細は過去記事で説明しています)。
<gc-spread-sheets [hostStyle]="hostStyle" (workbookInitialized)="workbookInit($event)"> <gc-worksheet name="気温" [dataSource]="temperatures" [autoGenerateColumns]="false"> <gc-column headerText="日時" dataField="date" width="200"> </gc-column> <gc-column headerText="最高気温" dataField="maxTemperature" width="100" formatter="#.0"></gc-column> <gc-column headerText="最低気温" dataField="minTemperature" width="100" formatter="#.0"></gc-column> </gc-worksheet> </gc-spread-sheets>
また、Reactでの実装はリスト8です(このサンプルの詳細は過去記事で説明しています)。リスト4/7/8の記述内容は非常に似通っていることがわかります。
// SpreadSheets:スプレッドシート全体を表す <SpreadSheets hostStyle={this.hostStyle} workbookInitialized={this.workbookInit}> {/*WorkSheet:ワークシートを表す*/} <Worksheet name='気温' dataSource={this.state.temperatures} autoGenerateColumns={false}> {/*Column:ワークシートの1列を表す*/} <Column headerText='日時' dataField='date' width={200}></Column> <Column headerText='最高気温' dataField='maxTemperature' width={100} formatter='#.0'></Column> <Column headerText='最低気温' dataField='minTemperature' width={100} formatter='#.0'></Column> </Worksheet> </SpreadSheets>
このようにSpreadJSは、幅広いフレームワーク・ライブラリへの対応により、開発者は自分の使い慣れた環境で利用でき、かつ、SpreadJSの利用法や実装は他の環境にも流用できるといえます。
まとめ
本記事では、グレープシティのJavaScriptスプレッドシート部品SpreadJSを、クライアント側にVue.js、サーバー側にASP.NET Coreの環境で利用する方法を説明しました。SpreadJSが提供するスプレッドシート、ワークシート、列はVue.jsのコンポーネントとして提供され、Vue.jsで作成したWebページ内に自然に組み込めます。また、Vue.js以外にAngularやReactをWebページの作成で使用しても、考え方や実装の一部が共用できるため、少ない学習コストで幅広い環境に対応できます。