[{"id":"7720ca38-fc98-4fd8-a3a5-3c0e730c3c72","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"247ded67-b050-4436-be40-fe7b0eeabef7","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"9a8c377f-1f1e-476e-b487-c2339da9bed3","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"5e8e6db2-89b9-4184-bbdc-301ee676869e","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"e04b598e-b0d8-4054-bdac-5143d90b3d51","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"edb028d0-a8cc-42b2-acda-42a5515729f0","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"2adde444-20a6-43d7-8896-2b445877327a","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"6ab8ced2-6c7a-41b6-b861-ba066bd40f40","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"0c34aedd-80a3-470b-a0f6-c327a4346be7","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"717a5892-fa23-499b-a61d-cff228943aaf","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"bd9be971-69fc-4793-ad6d-234be7a93048","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"a1e8d38f-43d8-4b3e-b747-3fbf7656fcd9","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"d6995fdf-76ee-421f-9e7a-3fb324d14bbb","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"64fa3155-4543-4acd-83b7-f9860fd46673","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"698413bd-0b16-4287-baec-644d98a411d1","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"7e4393a0-21ef-438b-981b-325b64db5baa","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]}]
        
(Showing Draft Content)

React

SpreadJSでは、JavaScriptライブラリの1つであるReactがサポートされます。Reactを使用すると、MVCフレームワークのビュー層を処理することで、Webアプリケーションおよびモバイルアプリケーションのユーザーインタフェースを構築できます。

Reactでは、ページをリロードせずにデータを変更できるだけでなく、再利用可能なコンポーネントや大規模なアプリケーションを作成できます。

メモ: SpreadJS は React バージョン16、17 および 18をサポートしています。

SpreadJSでは、次の2つの方法でReactを使用できます。

  • npmパッケージの使用

  • 従来のHTMLの使用

npmパッケージの使用

  1. 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


  2. Spread.Sheetsモジュールをインストールする

    Spread.Sheets Reactモジュール、および日本語リソースを、npmからインストールします。

    npm install @grapecity/spread-sheets-react

    npm install @grapecity/spread-sheets-resources-ja


  3. スタイルをインポートする

    index.jsファイルで、スタイルファイルをインポートします。

    import'@grapecity/spread-sheets/styles/gc.spread.sheets.excel2013white.css';


  4. ReactアプリでSpread.Sheetsを使用する

    src\App.jsファイルで、次のサンプルコードを使います。

    import React from 'react';
    import {SpreadSheets, Worksheet, Column} from '@grapecity/spread-sheets-react';
    import '@grapecity/spread-sheets-resources-ja';
    
    function App() {
      const spreadBackColor = 'aliceblue';
      const sheetName = 'Goods List';
      const hostStyle =
      {
        width: '800px',
        height: '600px'
      };
    
      const 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'}];
      const columnWidth = 100;
    
      return (
        <div>
          <SpreadSheets backColor={spreadBackColor}hostStyle= {hostStyle}>
            <Worksheet name={sheetName} dataSource={data}>
              <Column dataField='Name' width={300}></Column>
              <Column dataField='Category' width={columnWidth}></Column>
              <Column dataField='Price' width={columnWidth} formatter="$#.00"></Column>
              <Column dataField='Shopping Place' width={columnWidth}></Column>
            </Worksheet>
          </SpreadSheets>
      </div>
      );
    }
    
    export default App;                         

従来のHTMLの使用

この方法には、次の2つの手順があります。

  1. React HTMLテンプレートのダウンロード

    React HTMLテンプレートをダウンロードするには、リンクhttps://reactjs.org/docs/try-react.htmlを使用します。

  2. HTMLテンプレートへのSpread.SheetsおよびReact - Spread.Sheetsの追加

    gc.spread.sheets.all....min.js、gc.spread.sheets....css、および gc.spread.sheets.react...*.js ファイルへの参照を、HTMLテンプレート(index.htmlファイル)に追加します。

  3. ReactアプリケーションでのSpread.Sheetsの使用

    これで、Spread.SheetsをReactアプリケーション内で使用できるようになりました。例として、次のサンプルコードを使用します。

    <!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>
    </body>
    </html> 

SpreadSheets、Worksheet、およびColumnは、タグ階層での基本要素です。他の要素は、それぞれ設定して使用します。主なタグ階層は次のとおりです。

<SpreadSheets>
  <Worksheet>
    <Column></Column>
    ...
  </Worksheet>
  ...
</SpreadSheets>

以下の各トピックでは、さまざまな要素(ディレクティブ)について説明します。