sanyue 发表于 2024-2-20 16:38:30

同样的ssjson文件里的下拉框spreadjs 15版本能正常展示,16版本未正常展示下拉框

本帖最后由 Clark.Pan 于 2024-3-25 11:39 编辑

调研编号:SJS-22842
lastReview:2024-3-25
此问题已在17.0.5版本修复。

同样的ssjson文件里的下拉框spreadjs 15版本能正常展示,16版本未正常展示下拉框



如图,上面是excel文件自带的,下面是后端使用api覆盖掉的,正常应该展示小A,小B,小C选项,,15版本能正常展示,16版本未正常展示选项


Joestar.Xu 发表于 2024-2-20 17:36:04

您好,一般来说是不会出现这样的问题的,您说的

后端使用api覆盖掉的
具体指的是使用什么API覆盖掉的?可以提供下原始文件以及您覆盖的API代码吗?

sanyue 发表于 2024-2-20 17:47:59

Joestar.Xu 发表于 2024-2-20 17:36
您好,一般来说是不会出现这样的问题的,您说的




就后端设置组合框的 API

Joestar.Xu 发表于 2024-2-20 17:50:42

好的,后端的版本是V5还是V6呢?

sanyue 发表于 2024-2-21 08:40:07

本帖最后由 sanyue 于 2024-2-21 08:45 编辑

Joestar.Xu 发表于 2024-2-20 17:50
好的,后端的版本是V5还是V6呢?
6.2.2,使用的api:【新提醒】GcExcel设置下拉框失败 - SpreadJS & GcExcel专区 - 求助中心 - 葡萄城开发者社区 (grapecity.com.cn)

Joestar.Xu 发表于 2024-2-21 09:04:31

好的,我梳理一下您的重现步骤:

1、将Excel文件导入到V15 SpreadJS中获取到SSJSON。
2、将SSJSON用GcExcel 6.2.2打开,并设置下拉框,获取新的SSJSON。
3、将新的SSJSON用V15 SpreadJS打开能够正常显示下拉框,用V16 SpreadJS无法正常打开下拉框。

请问以上步骤是否是您复现该问题的步骤?

sanyue 发表于 2024-2-21 09:21:35

Joestar.Xu 发表于 2024-2-21 09:04
好的,我梳理一下您的重现步骤:

1、将Excel文件导入到V15 SpreadJS中获取到SSJSON。


步骤如下:
1.前端通过接口调用传 excel 文件到服务器保存
2.下发时(系统内的功能),后端从服务器获取文件转成 ssjson,如果用户有自定义配置下拉框,下发时会使用后端配置下拉框的 api 覆盖掉
3.填报页面打开的时候,后端回返回最新的 ssjson 给前端,前端通过 fromJSON 显示
(仅仅是 excel 的某一列本来就有下拉框,用户又在系统配置了,覆盖的时候才会有问题)

Joestar.Xu 发表于 2024-2-21 10:43:13

了解了,我这边测试了一下,创建一个Excel文件,在R1, R9:R20设置了AAA,BB,CC的下拉框。

然后使用API设置了小A,小B,小C的下拉框到R2:R8中。

代码如下:

Workbook workbook = new Workbook();
workbook.open("D:\\Code\\GcExcel_demo_maven\\src\\main\\resources\\数据验证.xlsx");

IWorksheet worksheet = workbook.getActiveSheet();
IValidation customerNameList = worksheet.getRange("R2:R8").getValidation();
customerNameList.add(ValidationType.List, ValidationAlertStyle.Warning, ValidationOperator.Equal, "小A,小B,小C", null);
customerNameList.setInCellDropdown(true);

System.out.println(workbook.toJson());

然后将获取到的SSJSON导入到SpreadJS V16中,可以正常使用下拉框,没有出现下拉框丢失的问题。



未能复现出您的问题,能否请您确认一下我的复现步骤是否有误,或您提供一个可以复现您问题的Demo,这边复现后调研一下。

sanyue 发表于 2024-2-21 10:49:59

Joestar.Xu 发表于 2024-2-21 10:43
了解了,我这边测试了一下,创建一个Excel文件,在R1, R9:R20设置了AAA,BB,CC的下拉框。

然后使用API设 ...

我可以发你一个ssjson给你,看你那边有没问题,这边项目内是稳定复现的

sanyue 发表于 2024-2-21 14:28:02

本帖最后由 sanyue 于 2024-2-21 14:40 编辑

Joestar.Xu 发表于 2024-2-21 10:43
了解了,我这边测试了一下,创建一个Excel文件,在R1, R9:R20设置了AAA,BB,CC的下拉框。

然后使用API设 ...
文件里给整个R列设置AAA,BB,CC下拉框,再用api给整个R列设置小A,小B,小c下拉框,你这样是刚好错开了,没有覆盖,我们后端说要先用delete的,要不然会报错
页: [1] 2 3
查看完整版本: 同样的ssjson文件里的下拉框spreadjs 15版本能正常展示,16版本未正常展示下拉框