GrapeCity.devlog

グレープシティ株式会社のDeveloper Tools〈開発支援ツール〉の最新情報をお届けします。製品のTIPSや発売情報、イベントのお知らせなどをいち早く発信中です。

SpreadJSのクライアント側Excel入出力機能

こんにちは、SpreadJS担当の村上です。

先日のサービスパックリリース以降、新しくなったSpreadJSに関する沢山のお問い合わせをいただいております。(ありがとうございます!)

用法や性能、初版からの変更点など、頂戴するご質問内容は多岐に及んでいますが、なかでもひときわ多くのご質問をいただいております新機能、「クライアントサイドExcelIO」について、今日はご紹介したいと思います。

この機能を使用すると、SpreadJSで表示したスプレッドシートの内容をMicrosoft Excel形式のファイルに出力したり、Excel形式のファイルをSpreadJSに読み込んだりすることができるようになります。

使い方はとっても簡単です。以下のサンプルコードにあるように、Excelファイルを読み込むときはopenメソッド、Excelファイルを書き出すときはsaveメソッドをコールします。

Openメソッド使用例

// 例:Excelファイルオープン関数
function ImportFile() {
    // SpreadJSインスタンスの取得
    var workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
    // ExcelIOインスタンスの生成
    var excelIO = new GC.Spread.Excel.IO();
    // オープンするExcelファイル
    var excelFile = “inputfile.xlsx”;
    // Excelファイルオープン処理
    excelIO.open(excelFile, function (json) {
        // openメソッド成功時の処理
        var workbookObj = JSON.parse(json);
        workbook.fromJSON(workbookObj);
    }, function (e) {
        // openメソッド失敗時の処理
        console.log(e);
    });
}

Saveメソッド使用例

// 例:Excelファイルセーブ関数
function ExportFile() {
    // SpreadJSインスタンスの取得
    var workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
    // ExcelIOインスタンスの生成
    var excelIO = new GC.Spread.Excel.IO();
    // 保存ファイル名の設定
    var fileName = “output.xlsx”;
    // SpreadJSから保存データを取得
    var json = JSON.stringify(workbook.toJSON());
    // Excelファイルセーブ処理
    excelIO.save(json, function (blob) {
        // saveメソッド成功時の処理
        saveAs(blob, fileName);
    }, function (e) {
        // saveメソッド失敗時の処理
        console.log(e);
    });
}

なお、実際のWebアプリケーションでクライアントサイドExcelIO機能を使用するためには、アプリケーションがオープン処理で参照できるようにExcelファイルをアップロードする機能や、セーブしたExcelファイルをエンドユーザーのローカル環境にダウンロードできるようにする機能の実装が必要です。

今回はこれらの周辺機能も実装した動作サンプルを用意しました。評価、実装のご参考としてお試しいただければ幸いです。

また、弊社Webサイトでは30日間お使いいただけるトライアル版(機能制限なし!)がダウンロードできます。公開中のオンラインデモと併せて、高性能なSpreadJSの実力をぜひご体感ください。

トライアル版はこちらから オンラインデモを見る

Copyright © GrapeCity, Inc. All Rights Reserved.