找回密码
 立即注册

QQ登录

只需一步,快速开始

Winny

超级版主

141

主题

261

帖子

1682

积分

超级版主

Rank: 8Rank: 8

积分
1682
Winny
超级版主   /  发表于:2021-6-28 18:29  /   查看:4996  /  回复:3
本帖最后由 Joestar.Xu 于 2024-9-4 16:01 编辑

在实际项目中,用户会有需要清除表单或者整个工作簿内容的需求,本文介绍清除表单或工作簿内容的方法及注意事项。
1. 清除表单中的所有数据
清除表单数据的API为:
  1. sheet.clear(row,column,rowCount,columnCount,area,storageType)
复制代码
该API中各参数的含义为:
  1. row: 起始行索引;
  2. column: 起始列索引;
  3. rowCount: 待清除行数;
  4. columnCount: 待清除列数;
  5. area: 待清除区域;
  6. storageTpye: 待清除数据类型。
复制代码
用户在清除当前表单中的内容时,一般调用的方法为:
  1. sheet.clear(0,0,sheet.getRowCount(),sheet.getColumnCount(),GC.Spread.Sheets.SheetArea.viewport,GC.Spread.Sheets.StorageType.data)
复制代码
当表单内容为纯数据时,此时可以顺利的将表单中的所有内容删除,而当表单中包含单选框、复选框这些单元格时,会有用户发现,无法一次清除所有内容,这是什么原因呢?
我们来看看clear()方法的第六个参数storageType,代表的是需要清除内容的类型,查阅API可知,该参数的可选值如下:
image.png584760741.png
由此可知,一个表单中待清除的数据类型可能不止有数据,还有很多样式、批注、标签等信息,这些内容如果不清除的话都会影响后续的使用。
而storageType参数是支持用或关系组合传递的,举例要清除表单中的数据及样式时,可以使用如下方法:
  1. sheet.clear(0,0,sheet.getRowCount(),sheet.getColumnCount(),GC.Spread.Sheets.SheetArea.viewport,GC.Spread.Sheets.StorageType.data | GC.Spread.Sheets.StorageType.style)
复制代码

当然,也可以将所有类型进行组合传递。

2. 清除工作簿内容
清除工作簿内容时可以采用遍历工作簿中的表单,之后一次清除表单内容的方法。
初次之外,也可以使用如下方法:
  1. spread.clearSheets()
复制代码
但是有很多用户在清除所有sheet后会特别茫然,因为spread中没有一张工作表了,这个时候可以调用:
  1. spread.addSheet(0,new GC.Spread.Sheets.Worksheet('custom'))
复制代码
执行完成后,spread中就已经有工作表,可以进行正常的后续操作了。

3 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-9-9 14:16:39
来自 4#
在目前的最新版本中,也可以使用reset接口来重置表单内容:https://demo.grapecity.com.cn/sp ... ets.Worksheet#reset
回复 使用道具 举报
silver
注册会员   /  发表于:2024-9-4 15:54:08
沙发
clear清空的第6个参数或的形式清空多种数据没有效果,比如GC.Spread.Sheets.StorageType.data || GC.Spread.Sheets.StorageType.style只清空了数据,样式并没有清空
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-9-4 16:01:25
板凳
您好,文章中的代码有误,您试试:GC.Spread.Sheets.StorageType.data | GC.Spread.Sheets.StorageType.style
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部