找回密码
 立即注册

QQ登录

只需一步,快速开始

sumyy

注册会员

13

主题

55

帖子

148

积分

注册会员

积分
148
sumyy
注册会员   /  发表于:2024-6-12 20:36  /   查看:150  /  回复:15
本帖最后由 Joestar.Xu 于 2024-6-17 12:08 编辑


调研编号:DOCXLS-10567

我把前端的删除放到后端去实现,发现删除不掉,但是单测却可以,想问一下可能是什么原因?以下是后端简单代码。

                        String rangeString = String.format("%s:%s", start, end);
                        worksheet.getRange(rangeString).getEntireColumn().delete();

15 个回复

倒序浏览
sumyy
注册会员   /  发表于:5 天前
沙发
请问一下有可能是那些原因,我根据场景一个一个去试以下原因。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:5 天前
板凳
您好,看上去就是简单的删除操作,有可能是start和end设置的不正确导致无法删除,除此以外判断不出其他可能的原因,可以先排查一下,如果问题仍然存在,请提供一个可以复现出此问题的Demo,这边帮您调研看看。
回复 使用道具 举报
sumyy
注册会员   /  发表于:5 天前
地板
Joestar.Xu 发表于 2024-6-13 11:38
您好,看上去就是简单的删除操作,有可能是start和end设置的不正确导致无法删除,除此以外判断不出其他可能 ...

请问一下如果是传参有问题,那么单测就过不了,现在是单测可以看到行列减少了,但是在实际操作中传过来的workbook就不会减少行列数.通过getrowcount(),在调用删除的内容,后面又去调getrowcount(),发现值没有变化。就是正常情况下是删除行列是不会有东西限制的是吧,比如说开了保护模式,前端设置了rowcount,或者行的锁定什么的,有没有这种可能性?
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:5 天前
5#
您好,正常情况下不会受表单保护限制,设置rowCount也不会影响到此处的逻辑,不清楚为什么会出现这样的问题,最好还是请您提供一个可以复现此问题的Demo这边帮您调研看看。
回复 使用道具 举报
sumyy
注册会员   /  发表于:5 天前
6#
Joestar.Xu 发表于 2024-6-13 17:46
您好,正常情况下不会受表单保护限制,设置rowCount也不会影响到此处的逻辑,不清楚为什么会出现这样的问题 ...

public static void main(String[] args) {
        // 创建一个新的工作簿
        Workbook workbook = new Workbook();

        // 获取第一个工作表
        IWorksheet sheet = workbook.getWorksheets().get(0);

        // 设置工作表的行数为300行
        sheet.setRowCount(300);

        // 输出初始行数
        System.out.println("初始行数: " + sheet.getRowCount());

        // 删除第50到100行
        sheet.getRange("50:100").delete();

        // 输出最终行数
        System.out.println("删除后的行数: " + sheet.getRowCount());
    }
这个是测试代码,结果在图片中行数没有变化,按照你们的说法应该会变的,是什么原因呢?
c5bb5d42eb79493e82d685f23cd922bc.png
回复 使用道具 举报
sumyy
注册会员   /  发表于:4 天前
7#
sumyy 发表于 2024-6-13 19:35
public static void main(String[] args) {
        // 创建一个新的工作簿
        Workbook workboo ...

gcexecl的版本是6.2.5
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:4 天前
8#
您好,我这边按照您说的测试了一下:

image.png159098204.png

删除前:

image.png583975219.png

删除后:

image.png539623412.png

数据确实被删除了,但是RowCount没有变化,你这边期望的效果是RowCount变成250吗?
回复 使用道具 举报
sumyy
注册会员   /  发表于:4 天前
9#
是的,我们不希望只是数据被删除,还希望连带着对应的行或者列一起删除
回复 使用道具 举报
sumyy
注册会员   /  发表于:4 天前
10#
Joestar.Xu 发表于 2024-6-14 09:20
您好,我这边按照您说的测试了一下:

我们就是想实现那个所见即所得的,而不是简单的清除数据。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部