找回密码
 立即注册

QQ登录

只需一步,快速开始

sanyue
中级会员   /  发表于:2024-2-20 16:38  /   查看:4300  /  回复:28
本帖最后由 Clark.Pan 于 2024-3-25 11:39 编辑

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

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


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


评分

参与人数 1金币 +200 收起 理由
Ellia.Duan + 200

查看全部评分

28 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于: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.XuSpreadJS 开发认证
超级版主   /  发表于:2024-2-20 17:50:42
地板
好的,后端的版本是V5还是V6呢?
回复 使用道具 举报
sanyue
中级会员   /  发表于:2024-2-21 08:40:07
5#
本帖最后由 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.XuSpreadJS 开发认证
超级版主   /  发表于:2024-2-21 09:04:31
6#
好的,我梳理一下您的重现步骤:

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
7#
Joestar.Xu 发表于 2024-2-21 09:04
好的,我梳理一下您的重现步骤:

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

步骤如下:
1.前端通过接口调用传 excel 文件到服务器保存
2.下发时(系统内的功能),后端从服务器获取文件转成 ssjson,如果用户有自定义配置下拉框,下发时会使用后端配置下拉框的 api 覆盖掉
3.填报页面打开的时候,后端回返回最新的 ssjson 给前端,前端通过 fromJSON 显示
(仅仅是 excel 的某一列本来就有下拉框,用户又在系统配置了,覆盖的时候才会有问题)
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-2-21 10:43:13
8#
了解了,我这边测试了一下,创建一个Excel文件,在R1, R9:R20设置了AAA,BB,CC的下拉框。

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

代码如下:

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

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

  7. System.out.println(workbook.toJson());
复制代码


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

image.png181032408.png

未能复现出您的问题,能否请您确认一下我的复现步骤是否有误,或您提供一个可以复现您问题的Demo,这边复现后调研一下。
回复 使用道具 举报
sanyue
中级会员   /  发表于:2024-2-21 10:49:59
9#
Joestar.Xu 发表于 2024-2-21 10:43
了解了,我这边测试了一下,创建一个Excel文件,在R1, R9:R20设置了AAA,BB,CC的下拉框。

然后使用API设 ...

我可以发你一个ssjson给你,看你那边有没问题,这边项目内是稳定复现的
回复 使用道具 举报
sanyue
中级会员   /  发表于:2024-2-21 14:28:02
10#
本帖最后由 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的,要不然会报错
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部