使用HyperFormula引擎时,sheetName不在DetailedSettings类型中的报错求助
解决HyperFormula搭配HotTable时sheetName属性类型报错问题
问题说明
按照官方文档在formulas配置中搭配engine: HyperFormula使用sheetName时,触发TypeScript类型错误:'sheetName' does not exist in type 'DetailedSettings'。
组件配置代码如下:
<HotTable // 其他配置项 data={data[key as keyof typeof data]} formulas={{ engine: hyperformulaInstance, sheetName: "MySheet", /* 报错信息:Type '{ engine: HyperFormula; sheetName: string; }' is not assignable to type 'DetailedSettings'. Object literal may only specify known properties, and 'sheetName'does not exist in type 'DetailedSettings'. */ }} // 其他配置项 licenseKey="non-commercial-and-evaluation" // 仅用于非商业用途 />
formulas对应的DetailedSettings类型定义不包含sheetName属性,移除该属性后应用可正常运行。
解决方案
要指定工作表名称,需在初始化HyperFormula实例阶段配置sheetName,而非在HotTable的formulas选项中传递:
- 初始化空实例时指定工作表名:
const hyperformulaInstance = HyperFormula.buildEmpty({ sheetName: "MySheet" });
- 带数据初始化时指定工作表名:
const hyperformulaInstance = HyperFormula.buildFromArray([[1,2,3]], { sheetName: "MySheet" });
- 最终HotTable的
formulas配置仅传入engine:
<HotTable // 其他配置项 data={data[key as keyof typeof data]} formulas={{ engine: hyperformulaInstance }} // 其他配置项 licenseKey="non-commercial-and-evaluation" />
内容的提问来源于stack exchange,提问作者Jamshaid Tariq
相关产品推荐
相关产品推荐

