找回密码
 立即注册

QQ登录

只需一步,快速开始

王斌

金牌服务用户

19

主题

33

帖子

136

积分

金牌服务用户

积分
136
王斌
金牌服务用户   /  发表于:2023-10-25 11:10  /   查看:2481  /  回复:11
本帖最后由 Richard.Huang 于 2023-10-26 10:51 编辑

产品:GcExcel
版本:V6.2.2

我想用gcExcel 在后台存档的时候修改或删除用户选中的区域信息, 使用 delete和clear都无效果, 是不是使用错了方法 ? 请指教下。

image.png680866393.png


iworksheet.getSelection().delete();iworksheet.getSelection().clear();  

image.png476479491.png

11 个回复

倒序浏览
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-10-25 14:26:54
沙发
您好,我明白您的意思,您是在执行iworksheet.getSelection().delete();或iworksheet.getSelection().clear();  后没有成功删除选定部分的数据是吗?

对于该问题我们需要明确的是
delete方法的作用是从工作表中删除一个单元格或一系列单元格,并移动其他单元格以替换已删除的单元格。
clear方法的作用是清除当前区域中的公式、值和所有格式。

所以执行delete方法的结果是这样的
image.png242303160.png

执行clear方法的结果是这样的
image.png417535094.png

对此使用clear方法是能够清除您所说的内容的,如果您使用clear方法仍然没有有效地清除内容,请问能否提供一份可供我们复现的文件以及代码Demo,将您出现问题的步骤进行详细描述,方便我们进行测试和调研,从而找到问题关键所在
回复 使用道具 举报
王斌
金牌服务用户   /  发表于:2023-10-25 16:59:54
板凳
本帖最后由 王斌 于 2023-10-25 17:00 编辑

image.png929000854.png    
我现在是保存以后 出现 列 到 XFD ,我想控制这种情况 如果进行设置
image.png961690673.png
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-10-25 18:09:00
地板
王斌 发表于 2023-10-25 16:59
我现在是保存以后 出现 列 到 XFD ,我想控制这种情况 如果进行设置

您好,我没太理解您所说的出现列到XFD是什么意思,您的意思是,用户保存时,他选中的单元格例如是A1,但是经过GcExcel的一系列操作,结果打开后发现XFD列的单元格被选中了是吗?

对于该问题如我上面截图所示,没有复现出该问题,请问您能提供一份可供我们复现的xlsx文件以及代码Demo,方便我们更好地为您解决问题

如果我描述的问题并不是您表述的,请您详细描述一下您当前遇到的问题,以及复现步骤
回复 使用道具 举报
王斌
金牌服务用户   /  发表于:2023-10-25 18:21:15
5#
用户选中的是任意一行,进行了保存。我再次打开 列 就到了 XFD

我现在想控制它,不出现 这么多列
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-10-26 11:58:13
6#
本帖最后由 Richard.Huang 于 2023-10-26 12:01 编辑
王斌 发表于 2023-10-25 18:21
用户选中的是任意一行,进行了保存。我再次打开 列 就到了 XFD

我现在想控制它,不出现 这么多列

您好,我知晓您的意思了,您目前想通过代码控制用户当前工作表的视图,例如,指定打开后,最左列为A列,或者最左列为X列。

我从您其他信息中知晓,您之前通过setSelection方法(实际并没有这个方法)来实现,结果失败。对此,我们应该使用的是setScrollColumn方法,该方法的作用是设置窗格或工作表中最左边的列的编号。您可以参考我下面的代码:

// 设置最左列为A列
sheet.getSheetView().setScrollColumn(0);
回复 使用道具 举报
王斌
金牌服务用户   /  发表于:2023-10-26 13:28:15
7#
Richard.Huang 发表于 2023-10-26 11:58
您好,我知晓您的意思了,您目前想通过代码控制用户当前工作表的视图,例如,指定打开后,最左列为A列, ...

image.png555877685.png

测试了下,这个方式 只是定位在了 以 A列起始,还无法实现我的需求。

我需求是 只到 AN 列为止,后续的列 不用显示。
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-10-26 15:32:25
8#
王斌 发表于 2023-10-26 13:28
测试了下,这个方式 只是定位在了 以 A列起始,还无法实现我的需求。

我需求是 只到 AN 列为止, ...

我想您可以试试设置列数来实现:
sheet.setColumnCount(10);// 设置列数
回复 使用道具 举报
王斌
金牌服务用户   /  发表于:2023-10-26 15:58:55
9#
Richard.Huang 发表于 2023-10-26 15:32
我想您可以试试设置列数来实现:
sheet.setColumnCount(10);// 设置列数

image.png988760986.png

image.png391099242.png



图一: 这个 早就设置过了,没效果啊


我就想把 行选中 这个东西 给取消了
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-10-26 16:46:22
10#
王斌 发表于 2023-10-26 15:58
图一: 这个 早就设置过了,没效果啊

您好,根据您描述的,希望重新设置选定区域的需求,GcExcel并没有提供setSelection的方法,因为GcExcel作为一款后端产品,没有UI界面可以去给用户感受到哪些区域被选中了,对此,您只能通过控制您图中的json内容来更改选中区域:例如
image.png680624694.png
image.png356385192.png
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部