Spread.Sheetsでは、JavaScriptライブラリの1つであるReactがサポートされます。Reactを使用すると、MVCフレームワークのビュー層を処理することで、Webアプリケーションおよびモバイルアプリケーションのユーザーインタフェースを構築できます。
Reactでは、ページをリロードせずにデータを変更できるだけでなく、再利用可能なコンポーネントや大規模なアプリケーションを作成できます。
Spread.Sheetsでは、次の2つの方法でReactを使用できます。
コマンドプロンプトウィンドウを開き、次のコマンドを入力します。コマンドを実行すると、ディレクトリ内の指定の場所にReactプロジェクトが作成されます。Reactプロジェクトの詳しい作成方法については、https://reactjs.org/docs/add-react-to-a-new-app.htmlを参照してください。
npm install -g create-react-app create-react-app quick-start cd quick-start npm start
Spread.Sheets Reactモジュール、および日本語リソースを、npmからインストールします。
npm install @grapecity/spread-sheets-react npm install @grapecity/spread-sheets-resources-ja
index.jsファイルで、スタイルファイルをインポートします。
import'@grapecity/spread-sheets/styles/gc.spread.sheets.excel2013white.css';
src\App.jsファイルで、次のサンプルコードを使います。
JavaScript |
コードのコピー
|
---|---|
import React, {Component} from 'react'; import {SpreadSheets, Worksheet, Column} from '@grapecity/spread-sheets-react'; import '@grapecity/spread-sheets/styles/gc.spread.sheets.excel2016darkGray.css'; import '@grapecity/spread-sheets-resources-ja/dist/gc.spread.sheets.resources.ja.min.js' class App extends Component { constructor(props) { super(props); this.spreadBackColor = 'aliceblue'; this.sheetName = 'Goods List'; this.hostStyle = { width: '800px', height: '600px' }; this.data = [{Name: 'Apple', Category: 'Fruit', Price: 1, 'Shopping Place': 'Wal-Mart'},{Name: 'Potato', Category: 'Fruit', Price: 2.01, 'Shopping Place': 'Other'},{Name: 'Tomato', Category: 'Vegetable', Price: 3.21, 'Shopping Place': 'Other'},{Name: 'Sandwich', Category: 'Food', Price: 2, 'Shopping Place': 'Wal-Mart'},{Name: 'Hamburger', Category: 'Food', Price: 2, 'Shopping Place': 'Wal-Mart'},{Name: 'Grape', Category: 'Fruit', Price: 4, 'Shopping Place': 'Sun Store'}]; this.columnWidth = 100; } render() { return( <div> <SpreadSheets backColor={this.spreadBackColor}hostStyle= {this.hostStyle}> <Worksheet name={this.sheetName} dataSource={this.data}> <Column dataField='Name' width={300}></Column> <Column dataField='Category' width={this.columnWidth}></Column> <Column dataField='Price' width={this.columnWidth} formatter="$#.00"></Column> <Column dataField='Shopping Place' width={this.columnWidth}></Column> </Worksheet> </SpreadSheets> </div> ) } } export default App; |
この方法には、次の2つの手順があります。
React HTMLテンプレートをダウンロードするには、リンクhttps://reactjs.org/docs/try-react.htmlを使用します。
gc.spread.sheets.all.*.*.*.min.js、gc.spread.sheets.*.*.*.css、およびgc.spread.sheets.react.*.*.*.jsファイルへの参照を、HTMLテンプレート(index.htmlファイル)に追加します。
これで、Spread.SheetsをReactアプリケーション内で使用できるようになりました。例として、次のサンプルコードを使用します。
JavaScript |
コードのコピー
|
---|---|
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Hello World</title> <script src="https://unpkg.com/react@16/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script> <script src="./lib/gc.spread.sheets.all.*.*.*.min.js"></script> <link rel="stylesheet" type="text/css" href="./lib/gc.spread.sheets.excel2013white.*.*.*.min.css"> <script src="./lib/gc.spread.sheets.react.*.*.*.js"></script> </head> <body> <div id="root"></div> <script type="text/babel"> const {SpreadSheets, Worksheet, Column} = window.SpreadSheetsComponents; class App extends React.Component{ render(){ return( <div style={{width: '800px',height: '600px'}}> <SpreadSheets> <Worksheet name='first'> <Column dataField="Name"/> </Worksheet> </SpreadSheets> </div> ) } } ReactDOM.render( <App/>, document.getElementById('root') ); </script> |
SpreadSheets、Worksheet、およびColumnは、タグ階層での基本要素です。他の要素は、それぞれ設定して使用します。主なタグ階層は次のとおりです。
<SpreadSheets> <Worksheet> <Column></Column> ... </Worksheet> ... </SpreadSheets> |
以下の各トピックでは、さまざまな要素(ディレクティブ)について説明します。