找回密码
 立即注册

QQ登录

只需一步,快速开始

dexteryao 讲师达人认证 悬赏达人认证 SpreadJS 开发认证

超级版主

123

主题

8927

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
13528

讲师达人悬赏达人元老葡萄SpreadJS 认证SpreadJS 高级认证微信认证勋章

dexteryao 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-12-30 15:27  /   查看:1855  /  回复:2
由于SpreadJS和在线表格编辑器在不同的包中,TypeScript的描述文件也在不同的包中,直接按照在GC下使用Designer会报错。
解决方案如下

对于Designer单独引入GC
  1. import * as DesignerGC from "@grapecity/spread-sheets-designer";
  2. import * as GC from "@grapecity/spread-sheets";
复制代码
这里的DesignerGC和GC是同一个对象,但是由于前述原因为了能使用关于Designer的TS描述,需要分离
后续关于Designer都使用这个对象。
例如授权
  1. //GC.Spread.Sheets.LicenseKey = ExcelIO.LicenseKey = ""
  2. // DesignerGC.Spread.Sheets.Designer.LicenseKey = "";
复制代码

在我们获取到designer实例后,需要使用workbook,可以通过as进行类型转换
  1.   designerInitialized(designer: DesignerGC.Spread.Sheets.Designer.Designer) {
  2.     let spread = designer.getWorkbook() as GC.Spread.Sheets.Workbook;
  3.   }
复制代码


2 个回复

倒序浏览
hechengxixi
注册会员   /  发表于:2023-6-26 09:27:40
沙发
如果将@grapecity/spread-sheets-designer和@grapecity/spread-sheets都在webpack config中设为externals,root分别设为GC和DGC,运行时,DGC输出为undefined。请问这种情况要怎么处理呢?
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-6-26 18:29:57
板凳
hechengxixi 发表于 2023-6-26 09:27
如果将@grapecity/spread-sheets-designer和@grapecity/spread-sheets都在webpack config中设为externals, ...

您好,
您是想在打包时使用externals 排除SpreadJS吗?
可以参考这篇帖子:
https://gcdn.grapecity.com.cn/showtopic-161305-1-59.html
如有疑问,可以另开新帖交流。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部