[{"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"}]}]
        
(Showing Draft Content)

SpreadJSへのファイルのインポート

次のセクションは、Excel(.xlsx)およびJSONファイル(jsonまたはssjson)をSpreadJSにインポートする手順について説明します。

SpreadJSのAPIに加えて、次のメソッドも使用されます。

手順1:HTMLにExcelIOのスクリプトファイルへの参照を追加する

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

手順2:JSON文字列からスプレッドのインスタンスをロードする

  1. importJSON 関数を作成して、 fromJSON メソッドを使用して指定されたJSON文字列からSpreadインスタンスをロードします。

  2. 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();
        }
    }

手順3:Excelファイルをインポートする

  1. importSpreadFromExcel 関数を作成し、 excelIO.open メソッドを呼び出して、ExcelファイルをJSON文字列に変換してインポートします。

  2. 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
        );
    }

手順4:JSONファイルをSpreadJSのインスタンスにインポートする

  1. importSpreadFromJSON 関数を作成して、JSONファイルをインポートします。

  2. 新しい FileReader を作成し、「reader」変数に保存します。

  3. FileReader.readAsText 関数を使用して、JSONファイルの内容を文字列に読み取ります。 onloadイベントは、FileReaderが終了した後にトリガーされます。

  4. 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;
    }

手順5:インポートされたファイルの形式を決定する

  1. importFile 関数を作成して、インポートされたファイルのファイル名をパラメーターとして受け取り、ファイル名の最後の「.」のインデックスを見つけることによってファイルタイプ(ExcelまたはJSON)を決定します。

  2. 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);
        }
    }

手順6:HTML入力要素を追加する

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ファイルのインポート