[{"id":"924e5c0c-0717-4fae-9bbc-0b496941985e","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"22646924-f1ae-4a94-ac8e-e3e8ea2931f2","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"827318c4-10fd-462b-aa96-fab2cff174a9","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"8f626f70-8570-4934-a0e5-fc0ca6584738","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"1029bbcc-399c-42e6-b412-a0437395d2d5","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"7e6097ce-e53b-416c-89c8-a3708db50528","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"3d1b1e48-357c-4999-985c-d9422356690a","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"e6cb5248-c20b-4d3e-adaf-b5c547e29548","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"58695f0f-7cb8-4bad-b617-dda90b01f606","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"081f453a-0e9a-4f06-a70b-18085a1f0d81","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"2c1d8bf8-2b69-4b16-bac9-9c46901abb6a","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"a042f416-d318-415c-b294-ed88a5010572","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"7a454c88-860a-4e28-b52c-b18bae07dfe8","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"63b1ec03-c852-40ec-860e-f025c5791091","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"6b7d135b-71b4-4af7-828c-b28bf70b8ec7","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"5937193e-fd56-4296-8e32-ba41dba8e564","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"8ed468db-93ce-4cb3-8e2b-3249d9d464a7","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"4169f34f-3e9b-45c1-91bf-41c02c3ad5a4","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"411aa66d-8df8-4466-896a-d8de68cf7066","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"7fc8dcfc-27ff-4496-96c2-d92dfe1fb4b2","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"02afd225-87f7-4f6d-8be1-0a303c8beade","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"8040235f-6c53-447e-a7f0-4fe5911e066b","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"0610b0d6-03c7-461b-9dd4-f8d1b1787e7c","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"7919ac2f-121b-447c-82ed-15d13b45df0b","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"1d01b943-eac8-480b-8d85-19bd093c8b3d","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"1f4d1309-e22c-413f-848d-2c0ca8450b0e","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"66d78fb1-e833-4bbf-ac7c-6bdfce9a80b0","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"ed5ad6f1-f5a2-47b8-a915-b185e8471ca3","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"6e9decb7-47f3-4871-81b9-65504bc293f1","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"836dcc3b-2afe-4351-bf9f-bd9e2b0c8510","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"80633614-e86b-4b0b-9129-9f7acab69f6d","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"1aaae15a-3496-43eb-a681-b077034832e4","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"70ce0595-eb94-4eb3-84f6-3a89ab8a4409","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"f3e379ff-ca52-44d8-a15e-966f89904220","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"c1228456-1b5c-429d-b231-25c10a2b41cc","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"58e7444a-12e4-4161-81db-0bb54d09eca9","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"f70c6c85-addd-43e7-8e2b-69dfe4a0a2fd","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"de70365b-d7c6-4355-a59b-3e77a6a374ae","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]}]
次のセクションは、Excel(.xlsx)およびJSONファイル(jsonまたはssjson)をSpreadJSにインポートする手順について説明します。
SpreadJSのAPIに加えて、次のメソッドも使用されます。
HTMLのHEADタグにExcelIOのスクリプトファイルへの参照を追加し、ExcelIOのインスタンスを生成します。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- a) SpreadJSスクリプトとCSSを追加します。-->
<!-- a1) SpreadJSスクリプトファイルを追加します。-->
<script type="text/javascript"
src="SpreadJS\gc.spread.sheets.all.x.x.x.min.js"></script>
<!-- a2) CSSファイルを追加します。-->
<link href="SpreadJS\gc.spread.sheets.x.x.x.css"
rel="stylesheet"
type="text/css" />
<!-- d1) ExcelIOスクリプトファイルを追加します。-->
<script type="text/javascript"
src="SpreadJS\gc.spread.excelio.x.x.x.min.js"></script>
<style>
.spread-container {
height: 550px;
}
</style>
</head>
<body>
<h1>SpreadJSへのファイルのインポート</h1>
<div class="sample-container">
<!-- b) SpreadJSのターゲットDOM要素を作成します。-->
<div id="ss" class="spread-container"></div>
</div>
</body>
<script>
// c) divの「ss」IDでスプレッドコンテナのSpreadJSを初期化します。
window.onload = function ()
{
var spread = new GC.Spread.Sheets.Workbook(
document.getElementById( "ss" ),
{ sheetCount: 1 }
);
// d2) ExcelIOのインスタンスを生成します。
excelIO = new GC.Spread.Excel.IO();
};
</script>
</html>
importJSON 関数を作成して、 fromJSON メソッドを使用して指定されたJSON文字列からSpreadインスタンスをロードします。
focus メソッドを使用して、ワークブックコンポーネントにフォーカスします。
//2: importJSON()を作成します。
function importJSON(spreadJson) {
var ss = GC.Spread.Sheets.findControl(document.getElementById("ss"));
if (spreadJson.version && spreadJson.sheets) {
// JSON文字列spreadJSONからオブジェクトをロードします。
ss.fromJSON(spreadJson);
// ブックコンポーネントをフォーカスします。
ss.focus();
}
}
importSpreadFromExcel 関数を作成し、 excelIO.open メソッドを呼び出して、ExcelファイルをJSON文字列に変換してインポートします。
importJSON 関数を呼び出して、 excelIO.open メソッドで作成されたJSONデータ文字列からSpreadJSのインスタンスをロードします。
//3: importSpreadFromExcel()を作成します。
function importSpreadFromExcel(file, options) {
// ExcelファイルをロードしてSpreadJSインスタンスを描画します。
excelIO.open(
file,
function (json) {
// 手順1で作成したimportJson()を呼び出して、Excelファイルをインポートします。
importJSON(json);
},
function (e) {
console.log(e);
},
options
);
}
importSpreadFromJSON 関数を作成して、JSONファイルをインポートします。
新しい FileReader を作成し、「reader」変数に保存します。
FileReader.readAsText 関数を使用して、JSONファイルの内容を文字列に読み取ります。 onloadイベントは、FileReaderが終了した後にトリガーされます。
importSuccessCallback メソッドを呼び出して、 JSON.parse メソッドを使用して結果をJavaScriptオブジェクトに解析します。
//4: importSpreadFromJSON()を作成します。
function importSpreadFromJSON(file) {
function importSuccessCallback(responseText) {
// JSON文字列を解析します。
var spreadJson = JSON.parse(responseText);
// importJSONメソッドを実行して、解析されたJSON文字列からSpreadJSインスタンスをロードします。
importJSON(spreadJson);
}
// JSON文字列を読み取るファイルを作成します。
var reader = new FileReader();
// 以下のreadAsText() が終了すると、このイベントがトリガーされ、正常なコールバックが返されます。
reader.onload = function () {
importSuccessCallback(this.result);
};
// readAsText()メソッドをトリガーします
// これによりファイルの内容が読み取られ、完了するとロードイベントがトリガーされます。
reader.readAsText(file);
return true;
}
importFile 関数を作成して、インポートされたファイルのファイル名をパラメーターとして受け取り、ファイル名の最後の「.」のインデックスを見つけることによってファイルタイプ(ExcelまたはJSON)を決定します。
If/Elseステートメントを作成して、 importSpreadFromJSON 関数と importSpreadFromExcel 関数のどちらを使用してファイルをインポートするかを決定します。
//5: importFile()関数を作成して、ファイルが.xlsxであるか.JSON /.SSJSONであるかを判別します
function importFile(file) {
// 選択されたファイルの名前を取得します。
var fileName = file.name;
// ファイル名の最後の「.」のインデックス位置を取得します
var index = fileName.lastIndexOf(".");
// ファイル名の最後の部分を返します。
var fileExt = fileName.substr(index + 1).toLowerCase();
if (fileExt === "json" || fileExt === "ssjson") {
importSpreadFromJSON(file);
} else if (fileExt === "xlsx") {
importSpreadFromExcel(file);
}
}
HTMLにid fileSelector でファイル入力要素を追加し、HTML入力を使用してファイルが選択されたときに、 importFile 関数を実行する processFileSelected 関数を作成します。
<body>
<h1>SpreadJSへのファイルのインポート</h1>
<!-- e) ファイル入力要素を追加します。-->
<p>ファイルのインポート:<input id="fileSelector" type="file" onchange="processFileSelected()"></p>
<div class="sample-container">
<!-- b) SpreadJSのターゲットDOM要素を作成します。-->
<div id="ss" class="spread-container"></div>
</div>
</body>
//6: processFileSelected()を作成します。
function processFileSelected() {
// idfileSelectorを持つHTML入力から選択されたファイルを取得します。
var fileSelector = document.getElementById("fileSelector");
var file = fileSelector.files[0];
if (!file) return false;
fileSelector.innerHTML = "";
// importFile()ファイルが選択されたら、importFile()を実行します。
return importFile(file);
}
上記の手順に従うと、以下のような出力が生成されます。
Excelファイルのインポート
JSONファイルのインポート