找回密码
 立即注册

QQ登录

只需一步,快速开始

汇新泓博
金牌服务用户   /  发表于:2022-8-31 14:20  /   查看:2121  /  回复:13
1金币
本帖最后由 汇新泓博 于 2022-8-31 14:25 编辑

设置activeSheet.options.clipBoardOptions = GC.Spread.Sheets.ClipboardPasteOptions.values;复制A行数据到B行,B数据内日期格式会变成与A行一样。B行添加的验证器就会一直报数据不合格而失效。比如B行验证日期为yyyy年MM月dd日,直接输入是可以的。复制2022/01/01的数据后,该单元格就会自动序列化日期为yyyy/MM/dd  导致数据验证无法成功
必须删除单元格重新输入,直接修改值是不可以的

最佳答案

查看完整内容

电话中了解了您的需求,整理如下: 1、显示文本为年月日形式 2、导出excel文件也显示为年月日形式 3、复制粘贴、手动输入单元格值,也显示为年月日形式 根据以上需求,建议您设置目标区域单元格为日期格式, 如附件动图所示,此时导出的excle文件、复制粘贴、手动输入值,会保持年月日。 附件为示例json文件,您可以参考实际测试下。

13 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-8-31 14:20:58
来自 10#
本帖最后由 Lynn.Dou 于 2022-9-2 16:12 编辑

电话中了解了您的需求,整理如下:
1、显示文本为年月日形式
2、导出excel文件也显示为年月日形式
3、复制粘贴、手动输入单元格值,也显示为年月日形式

根据以上需求,建议您设置目标区域单元格为日期格式,
如附件动图所示,此时导出的excle文件、复制粘贴、手动输入值,会保持年月日。
附件为示例json文件,您可以参考实际测试下。

动图.zip

5.36 MB, 下载次数: 45

test91.ssjson

140.08 KB, 下载次数: 45

回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-8-31 15:53:22
2#
你好,我这边测试设置ClipboardPasteOptions复制粘贴后是不会影响原来单元格的格式 image.png362850646.png

附件是我测试的ssjson,可以导入后将B2复制粘贴B3上看效果。

date.ssjson

1.13 KB, 下载次数: 50

回复 使用道具 举报
汇新泓博
金牌服务用户   /  发表于:2022-8-31 17:49:28
3#
Derrick.Jiao 发表于 2022-8-31 15:53
你好,我这边测试设置ClipboardPasteOptions复制粘贴后是不会影响原来单元格的格式

附件是我测试的ssjso ...

前一个添加setFormatter,复制会把序列化一起复制
回复 使用道具 举报
汇新泓博
金牌服务用户   /  发表于:2022-8-31 17:57:52
4#
Derrick.Jiao 发表于 2022-8-31 15:53
你好,我这边测试设置ClipboardPasteOptions复制粘贴后是不会影响原来单元格的格式

附件是我测试的ssjso ...

显示是序列化之后的,单元格内容是和显示不一样
微信截图_20220831175614.png
微信截图_20220831175728.png

sheet-json.txt

47.72 KB, 下载次数: 49

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-8-31 18:34:55
5#
原因是H4:H7是常规格式,之所以显示yyyy年mm月dd日,是因为value为字符串。
image.png912263183.png
如果此时直接将H12单元格值复制粘贴到H7单元格,因为格式仍然为常规,未发生变化,所以仍然会显示为原单元格文本,不通过校验。

结合您的需求,建议您修改H4:H7为日期格式 'yyyy"年"m"月"d"日"',此时再粘贴时就会通过验证了。
  1. sheet.setFormatter(3,7,'yyyy"年"m"月"d"日"')
复制代码

image.png618356933.png
附件为修改后的ssjson文件,您可以实际测试下。

after.ssjson

139.18 KB, 下载次数: 52

回复 使用道具 举报
汇新泓博
金牌服务用户   /  发表于:2022-9-1 09:26:20
6#
Lynn.Dou 发表于 2022-8-31 18:34
原因是H4:H7是常规格式,之所以显示yyyy年mm月dd日,是因为value为字符串。

如果此时直接将H12单元格值 ...

修改必须删除delete整个单元格,直接修改还是无法修改
回复 使用道具 举报
汇新泓博
金牌服务用户   /  发表于:2022-9-1 09:29:28
7#
Lynn.Dou 发表于 2022-8-31 18:34
原因是H4:H7是常规格式,之所以显示yyyy年mm月dd日,是因为value为字符串。

如果此时直接将H12单元格值 ...

粘贴过来的值不是纯文本,会带这序列化操作,删除重新填写,序列化消失。直接修改序列化存在永远无法符合验证。必须加一步删除单元格内容的操作才行。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-9-1 11:35:54
8#
您的联系方式是多少呢,这边与您电话沟通下。
回复 使用道具 举报
汇新泓博
金牌服务用户   /  发表于:2022-9-1 14:08:23
9#
Lynn.Dou 发表于 2022-9-1 11:35
您的联系方式是多少呢,这边与您电话沟通下。

16653132177
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部