删除行列删除不掉
本帖最后由 Wilson.Zhang 于 2024-8-29 16:24 编辑产品:GcExcel
版本:7.1.2
调研编号:DOCXLS-10567
Last Review:2024-08-29
当前进展:已经作为一个需求,计划在V8.0.0中支持。
我把前端的删除放到后端去实现,发现删除不掉,但是单测却可以,想问一下可能是什么原因?以下是后端简单代码。
String rangeString = String.format("%s:%s", start, end);
worksheet.getRange(rangeString).getEntireColumn().delete();
请问一下有可能是那些原因,我根据场景一个一个去试以下原因。 您好,看上去就是简单的删除操作,有可能是start和end设置的不正确导致无法删除,除此以外判断不出其他可能的原因,可以先排查一下,如果问题仍然存在,请提供一个可以复现出此问题的Demo,这边帮您调研看看。 Joestar.Xu 发表于 2024-6-13 11:38
您好,看上去就是简单的删除操作,有可能是start和end设置的不正确导致无法删除,除此以外判断不出其他可能 ...
请问一下如果是传参有问题,那么单测就过不了,现在是单测可以看到行列减少了,但是在实际操作中传过来的workbook就不会减少行列数.通过getrowcount(),在调用删除的内容,后面又去调getrowcount(),发现值没有变化。就是正常情况下是删除行列是不会有东西限制的是吧,比如说开了保护模式,前端设置了rowcount,或者行的锁定什么的,有没有这种可能性? 您好,正常情况下不会受表单保护限制,设置rowCount也不会影响到此处的逻辑,不清楚为什么会出现这样的问题,最好还是请您提供一个可以复现此问题的Demo这边帮您调研看看。 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());
}
这个是测试代码,结果在图片中行数没有变化,按照你们的说法应该会变的,是什么原因呢? sumyy 发表于 2024-6-13 19:35
public static void main(String[] args) {
// 创建一个新的工作簿
Workbook workboo ...
gcexecl的版本是6.2.5 您好,我这边按照您说的测试了一下:
删除前:
删除后:
数据确实被删除了,但是RowCount没有变化,你这边期望的效果是RowCount变成250吗? 是的,我们不希望只是数据被删除,还希望连带着对应的行或者列一起删除
Joestar.Xu 发表于 2024-6-14 09:20
您好,我这边按照您说的测试了一下:
我们就是想实现那个所见即所得的,而不是简单的清除数据。
页:
[1]
2