注意事项

由于Iframe的跨域安全限制,没办法直接调用Iframe内部的函数和变量,js-sdk提供的高级API对象只是iframe内部对象的映射,通过postMessage进行通信,所以部分对象需要手动销毁,下面举个例子方便理解:

  1. const app = demo.ExcelApplication()
  2. // 例如表格获取WorkSheet对象
  3. const sheet = demo.Sheets.Item("sheet1")
  4. // 此时得到的sheet对象只是一个映射对象,它拥有iframe内部对象的所有属性和方法,该对象的所有属性和方法都会映射到iframe内部
  5. sheet.Activate() // 切换sheet
  6. // ...do something
  7. // 不需要该对象时,手动释放,此时会通知iframe内部销毁对应的对象
  8. sheet.Destroy()

批量释放对象

由于单个对象销毁比较麻烦,我们提供了接口可以按照区间销毁,可以批量释放

  1. const stack1 = app.Stack()
  2. // do something
  3. stack1.End() // 在stack1区间的对象都会被销毁

需要手动销毁的对象都会在文档中标明

包含关系图

img