找回密码
 立即注册

QQ登录

只需一步,快速开始

Joestar.Xu SpreadJS 开发认证
超级版主   /  发表于:2024-8-5 10:51  /   查看:156  /  回复:0
众所周知,在SpreadJS中有一个功能,可以将表格转换为区域:


image.png67131651.png

这个操作可以直接将表格中的所有单元格转换为普通的单元格,在实际情况中也有着广泛的应用,那么这样的操作应该如何通过代码来实现呢?

通过查阅Table类的API文档,同学们会发现并没有找到相关的接口,看来并没有直接的接口可以实现这个需求。

但是,在设计器的Command中,可以找到一个TableToRange指令。

参考:https://demo.grapecity.com.cn/sp ... dNames#tabletorange

大家可以执行这个指令来实现转换表格为区域的操作:

  1. spread.commandManager().execute({
  2.     cmd: "tableToRange",
  3.     sheetName: sheet.name(),
  4.     tableName: sheet.tables.all()[0].name()
  5. });
复制代码


另外,大家也可以通过拷贝的方式来实现:

  1. var spread = GC.Spread.Sheets.findControl("ss");
  2. var sheet = spread.getActiveSheet();
  3. var table = sheet.tables.findByName("Table1");
  4. var fromRange = table.range();

  5. sheet.suspendPaint();

  6. sheet.copyTo(fromRange.row, fromRange.col,
  7.     fromRange.row + 12, fromRange.col,
  8.     1, fromRange.colCount,
  9.     GC.Spread.Sheets.CopyToOptions.all);

  10. sheet.copyTo(fromRange.row + 1, fromRange.col,
  11.     fromRange.row + 13, fromRange.col,
  12.     fromRange.rowCount - 1, fromRange.colCount,
  13.     GC.Spread.Sheets.CopyToOptions.all);

  14. sheet.deleteRows(1, 12);

  15. sheet.resumePaint();
复制代码


大家可以结合自己的实际需求选用合适的方式。

参考:https://gcdn.grapecity.com.cn/showtopic-55827-1-1.html

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部