[{"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"}]}]
Excel IO要素を使用すると、Excelファイルのインポートおよびエクスポート機能を簡単に実現できます。
Reactアプリを作成する
コマンドプロンプトウィンドウを開き、次のコマンドを入力します。
npm install -g create-react-app
create-react-app quick-start
cd quick-start
npm start
コマンドを実行すると、ディレクトリ内の指定の場所にReactプロジェクトが作成されます。Reactプロジェクトの詳しい作成方法については、https://ja.reactjs.org/docs/create-a-new-react-app.html を参照してください。
Spread.Sheetsモジュールをインストールする
Spread.Sheets Reactモジュール、および日本語リソースを、npmからインストールします。
npm install @grapecity/spread-sheets
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';
プロジェクトでExcel IO ReactモジュールとFileSaver Reactモジュールをインストールする
次のコマンドを使用して、Excel I/Oおよびfile-saverモジュールをプロジェクトにインストールします。
npm install @grapecity/spread-excelio
npm install file-saver --save
ReactアプリでExcel IOを使用する
必要に応じてApp.jsファイルを変更します。 ブラウザウィンドウが更新されると、変更が反映されます。次のサンプルコードを使用します。
次のサンプルコードは、ReactアプリケーションでExcel IO要素を使用する方法を示します。
import React from 'react';
import './App.css';
import GC from '@grapecity/spread-sheets';
import { SpreadSheets, Worksheet } from '@grapecity/spread-sheets-react';
// ExcelIOモジュールをインポートします。
import * as ExcelIO from "@grapecity/spread-excelio";
// file-saverモジュールをインポートします。
import saveAs from 'file-saver';
var SpreadJSKey = "xxx";
GC.Spread.Sheets.LicenseKey = SpreadJSKey;
// 同じライセンスキーを使用して、Excel IOモジュールのライセンスを個別に取得する必要があります。
ExcelIO.LicenseKey = SpreadJSKey;
class App extends React.Component {
constructor(props) {
super(props);
this.hostStyle =
{
width: '1100px',
height: '800px'
};
}
// ワークブックのinitializedイベントを処理します。
workbookInit = (spread) => {
this.setState({
spread: spread
});
}
// Excelをインポートします。
importFile = () => {
var excelFile = document.getElementById("fileDemo").files[0];
// IOクラスのインスタンスを取得します。
let excelIO = new ExcelIO.IO();
excelIO.open(excelFile, (json) => {
this.state.spread.fromJSON(json);
}, (e) => {
console.log(e);
});
}
// Excelをエクスポートします。
exportFile = () => {
// IOクラスのインスタンスを取得します。
let excelIO = new ExcelIO.IO();
let fileName = document.getElementById("exportFileName").value;
if (fileName.substr(-5, 5) !== '.xlsx') {
fileName += '.xlsx';
}
var json = JSON.stringify(this.state.spread.toJSON());
excelIO.save(json, (blob) => {
saveAs(blob, fileName);
}, (e) => {
console.log(e);
});
}
render() {
return (
<div>
<input type="file" name="files[]" id="fileDemo" accept=".xlsx" />
<input type="button" id="loadExcel" value="Import" onClick={this.importFile} />
<input type="button" id="saveExcel" value="Export" onClick={this.exportFile} />
<input type="text" id="exportFileName" placeholder="エクスポートするファイルの名前。" value="export.xlsx" />
<SpreadSheets backColor={this.spreadBackColor} hostStyle={this.hostStyle} workbookInitialized={this.workbookInit}>
<Worksheet>
</Worksheet>
</SpreadSheets>
</div>
)
}
}
export default App;