找回密码
 立即注册

QQ登录

只需一步,快速开始

bamning

注册会员

11

主题

23

帖子

84

积分

注册会员

积分
84
bamning
注册会员   /  发表于:2016-3-30 17:39  /   查看:3396  /  回复:6
本帖最后由 bamning 于 2016-3-31 09:38 编辑

公式:=NOT(ISERROR(DATEVALUE(CONCATENATE(A1,"-",B1,"-",C1))))
似乎Spread中日期的相关验证有问题?如下:
Excel中的效果:

Excel中

Excel中

Spread中的效果:
666.png
666.png

评分

参与人数 1金币 +300 收起 理由
dexteryao + 300 发现bug奖励金币

查看全部评分

6 个回复

倒序浏览
CCKan
银牌会员   /  发表于:2016-3-30 18:48:23
沙发
你好,经确认这是我们的一个Bug, 原因是在 JavaScript 中写 new Date("2015/2/31") 浏览器不会返回异常。单这个用例来说你可以用 TIMEVALUE 来代替:

=NOT(ISERROR(timevalue(CONCATENATE(A1,"/",B1,"/",C1))))
回复 使用道具 举报
bamning
注册会员   /  发表于:2016-3-31 09:38:01
板凳
CCKan 发表于 2016-3-30 18:48
你好,经确认这是我们的一个Bug, 原因是在 JavaScript 中写 new Date("2015/2/31") 浏览器不会返回异常。 ...

OK,已解决
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-3-31 10:11:11
地板
发现bug奖励金币!!!!
回复 使用道具 举报
CCKan
银牌会员   /  发表于:2016-3-31 11:44:01
6#
支持 "&" ,你发现有什么问题吗?
回复 使用道具 举报
bamning
注册会员   /  发表于:2016-3-31 11:54:44
7#
CCKan 发表于 2016-3-31 11:44
支持 "&" ,你发现有什么问题吗?

公式如下:
=NOT(ISERROR(TIMEVALUE(RC&"-"&RC[1]&"-"&RC[2])))
客户端:
var spreadJson = workbook.toJSON();
initData.spreadJson = spreadJson;
JSON.stringify(initData);
服务端:JsonConvert.DeserializeObject<T>(content);
提示:数据保存有误:Unterminated string. Expected delimiter: ". Path 'SpreadJson', line 1, position 9829.

不过这个应该是和Newtonsoft.Json之间的兼容性问题吧,打开服务端数据看到是在“&”字符处截断了。所以需要对“&”做特殊处理?
回复 使用道具 举报
CCKan
银牌会员   /  发表于:2016-3-31 15:52:36
8#
你好,应当是可以的,请检查一下 content 的内容是否正确
我测试的代码:

var content = "{formula:\"=NOT(ISERROR(TIMEVALUE(RC&\\\" - \\\"&RC[1]&\\\" - \\\"&RC[2])))\"}";
var obj = JsonConvert.DeserializeObject(content);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部