找回密码
 立即注册

QQ登录

只需一步,快速开始

低调的繁华
金牌服务用户   /  发表于:2024-5-10 17:35  /   查看:235  /  回复:9
1金币
原始模板:

image.png361370238.png image.png85621642.png image.png602948607.png
其中的sheet7种 A和B列是记录数据的位置,D和F列是演示使用。

我想对“Sheet8”和"Sheet9"做数据删除还原,程序运行后如图:
image.png407262877.png image.png58641966.png image.png488745727.png

相关代码在附件中,想问下删除列单元格如何可以达到和删除行单元格一样的效果呢
image.png858877868.png
image.png785522155.png

GcExcel_static.zip

81.32 KB, 下载次数: 23

最佳答案

查看完整内容

感觉你的想法是删除行单元格可以做到删除某些单元格,下方的单元格可以上移。 而删除列单元格可以做到删除某些单元格右侧单元格可以左移。 我感觉可以考虑delete()方法传入一个参数来控制这个行为。

9 个回复

倒序浏览
最佳答案
最佳答案
RoyAji
注册会员   /  发表于:2024-5-10 17:35:32
来自 4#

感觉你的想法是删除行单元格可以做到删除某些单元格,下方的单元格可以上移。
而删除列单元格可以做到删除某些单元格右侧单元格可以左移。
我感觉可以考虑delete()方法传入一个参数来控制这个行为。
  1. // 垂直还原
  2.         IWorksheet worksheet = workbook.getWorksheets().get("Sheet8");
  3.         IRange range = worksheet.getRange("A1:A6");
  4.         IRange rows = range.getRows();
  5.         int count = rows.getCount();
  6.         if (count > 2) {
  7.             for (int i = 1; i < count - 1; i++) {
  8.                 IRange range1 = rows.get(1);
  9.                 System.out.println(range1.getAddress());
  10.                 range1.delete(DeleteShiftDirection.Up);
  11.             }
  12.         }

  13.         // 水平还原
  14.         IWorksheet worksheet9 = workbook.getWorksheets().get("Sheet9");
  15.         IRange worksheet9Range = worksheet9.getRange("A1:F1");
  16.         IRange rangeColumns = worksheet9Range.getColumns();
  17.         int rangeColumnCount = rangeColumns.getCount();
  18.         if (rangeColumnCount > 2) {
  19.             for (int i = 1; i < rangeColumnCount - 1; i++) {
  20.                 IRange range1 = rangeColumns.get(1);
  21.                 System.out.println(range1.getAddress());
  22.                 range1.delete(DeleteShiftDirection.Left);
  23.             }
  24.         }
复制代码
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-5-11 11:11:50
2#
收到,需要调查一下原因,然后给您答复
回复 使用道具 举报
低调的繁华
金牌服务用户   /  发表于:2024-5-11 11:20:36
3#
好的,感谢您。
回复 使用道具 举报
低调的繁华
金牌服务用户   /  发表于:2024-5-11 12:50:29
5#
好的,我试下谢谢哈
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-5-11 13:53:21
6#
感觉你的想法是删除行单元格可以做到删除某些单元格,下方的单元格可以上移。
而删除列单元格可以做到删除某些单元格右侧单元格可以左移。
我感觉可以考虑delete()方法传入一个参数来控制这个行为。

如上面所说,您可以考虑一下楼上的方案。如果还有问题的话欢迎继续追问。
回复 使用道具 举报
低调的繁华
金牌服务用户   /  发表于:2024-5-11 17:36:58
7#
Clark.Pan 发表于 2024-5-11 13:53
如上面所说,您可以考虑一下楼上的方案。如果还有问题的话欢迎继续追问。

这个就可以了哈 目前已经实现了我的功能
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-5-11 18:22:25
8#
好的,那就结贴了,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
低调的繁华
金牌服务用户   /  发表于:2024-5-11 18:27:41
9#
Clark.Pan 发表于 2024-5-11 18:22
好的,那就结贴了,有什么问题欢迎另开新帖进行询问。

好的
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-5-12 23:05:41
10#
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部