Joestar.Xu 发表于 2024-8-5 10:51:48

如何使用代码执行表格转换为区域的操作

众所周知,在SpreadJS中有一个功能,可以将表格转换为区域:




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

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

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

参考:https://demo.grapecity.com.cn/spreadjs/help/api/designer/classes/GC.Spread.Sheets.Designer.CommandNames#tabletorange

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

spread.commandManager().execute({
    cmd: "tableToRange",
    sheetName: sheet.name(),
    tableName: sheet.tables.all().name()
});

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

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

sheet.suspendPaint();

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

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

sheet.deleteRows(1, 12);

sheet.resumePaint();

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

参考:https://gcdn.grapecity.com.cn/showtopic-55827-1-1.html
页: [1]
查看完整版本: 如何使用代码执行表格转换为区域的操作