找回密码
 立即注册

QQ登录

只需一步,快速开始

zhu.wy

注册会员

5

主题

11

帖子

36

积分

注册会员

积分
36
zhu.wy
注册会员   /  发表于:2021-8-24 11:31  /   查看:2437  /  回复:4
1金币
image.png917399291.png
以上是官网的相关例子,只有一种实现方式,是用公式来引用数据的。实现方式太单一了,不符合我的需求。
image.png318921813.png
以上是我的实现方式,不使用公式来引用数据,而是设置序列的值。虽然功能实现了,但是excel打开会报异常
image.png379890441.png
是我写的有问题还是无法支持?

最佳答案

查看完整内容

我不确定你这边插入的枚举值具体是什么 正常来说插入一个逗号分隔的字符串是可以的。我这里测试了"1,2,3,4" 可以正常打开和显示验证选项 建议您发一个重现问题的demo上来,我帮你验证

4 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-24 11:31:53
来自 2#
我不确定你这边插入的枚举值具体是什么
正常来说插入一个逗号分隔的字符串是可以的。我这里测试了"1,2,3,4"

  1.             worksheet.Cells[1, 1].Validation.Add(ValidationType.List, ValidationAlertStyle.Stop, ValidationOperator.Between, "1,2,3,4");
复制代码


可以正常打开和显示验证选项

建议您发一个重现问题的demo上来,我帮你验证
回复 使用道具 举报
zhu.wy
注册会员   /  发表于:2021-8-25 08:58:23
3#
Richard.Ma 发表于 2021-8-24 14:59
我不确定你这边插入的枚举值具体是什么
正常来说插入一个逗号分隔的字符串是可以的。我这里测试了"1,2,3,4 ...

跟枚举值没关系,最终拼出来的字符串是"首选方案,备选方案",这个是没什么问题的。我试了你的demo,用cells[1,1]这样指定某个单元格是可以的,不会报错,但是用columns[10]这样指定一列就不行
回复 使用道具 举报
zhu.wy
注册会员   /  发表于:2021-8-25 09:21:26
4#
zhu.wy 发表于 2021-8-25 08:58
跟枚举值没关系,最终拼出来的字符串是"首选方案,备选方案",这个是没什么问题的。我试了你的demo,用cel ...
  1. worksheet.Range[$"K2:K{workSheet.Rows.RowCount}"].Validation
复制代码

最后用range方式解决了
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-25 09:57:28
5#
zhu.wy 发表于 2021-8-25 08:58
跟枚举值没关系,最终拼出来的字符串是"首选方案,备选方案",这个是没什么问题的。我试了你的demo,用cel ...

columns[10]获取到的也是IRange,因此也是可以设置的,我也用下面代码验证了一下没有问题。
如果您那边测试没法设置的话,建议升级到4.13版本以上,不排除是低版本原来存在bug

  1. worksheet.Columns[10].Validation.Add(ValidationType.List, ValidationAlertStyle.Stop, ValidationOperator.Between, "1,2,3,4");
复制代码


如果还是有问题的话,不排除和您这边特定的excel文件有关,您可以先自己验证一下空的工作表试试
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部