作成日: 2023/12/11 最終更新日: 2023/12/11
文書種別
制限事項
発生環境
Vue.js + TypeScript
状況
回避方法あり
詳細
Vue.js + TypeScriptを使用したアプリケーションでSpreadJSのExcelIOコンポーネントを使用しているとき、下記のようにライセンスキーの設定を行って、「npm run build」を実行すると、ビルド中に「Illegal reassignment of import "Excel"」というエラーメッセージが表示されます。
import * as GC from '@grapecity/spread-sheets';
import * as Excel from "@grapecity/spread-excelio";
GC.Spread.Sheets.LicenseKey = "SpreadJS本体のライセンスキーの文字列";
(<any>Excel).LicenseKey = "SpreadJS本体のライセンスキーの文字列";
この現象は、Vue.jsフレームワークを使用していることによる制限事項になります。
回避方法
Vue.jsフレームワークを使用している場合に、ExcelIOコンポーネントのライセンスキーを設定するには、下記コードのように記述します。
import * as GC from "@grapecity/spread-sheets";
(window as any).GC = GC;
GC.Spread.Sheets.LicenseKey = "SpreadJS本体のライセンスキーの文字列";
このように「(window as any).GC = GC;」を設定することで、ExcelIOコンポーネントについては、内部的にGCからGC.Spread.Sheetsに設定したライセンス情報を取得するようになります。したがって、ExcelIOコンポーネントのライセンスキーの設定を個別に行う必要はありません。