找回密码
 立即注册

QQ登录

只需一步,快速开始

汇新泓博
金牌服务用户   /  发表于:2022-9-5 11:47  /   查看:1080  /  回复:6
1金币
日期导出变成js日期格式,使用设置单元格格式无效。设置了setFormatter
微信截图_20220905114203.png

最佳答案

查看完整内容

导出之后格式丢失是因为单元格里面存的是字符串,excel是不支持给字符串设置格式。 例如你在excel设置了带有单引号的字符串,然后再通过上方工具栏设置日期格式,可以发现是不会生效的。

6 个回复

倒序浏览
最佳答案
最佳答案
有点东西悬赏达人认证
初级会员   /  发表于:2022-9-5 11:47:11
来自 4#
汇新泓博 发表于 2022-9-5 16:35
不知道哪来的这个格式,也是在spreadjs里边填写的

导出之后格式丢失是因为单元格里面存的是字符串,excel是不支持给字符串设置格式。
image.png490467833.png

例如你在excel设置了带有单引号的字符串,然后再通过上方工具栏设置日期格式,可以发现是不会生效的。
image.png532009887.png
回复 使用道具 举报
有点东西悬赏达人认证
初级会员   /  发表于:2022-9-5 12:24:08
2#
我测试是可以的,可以把你的ssjson上传分析一下。
image.png168433837.png
回复 使用道具 举报
汇新泓博
金牌服务用户   /  发表于:2022-9-5 16:35:41
3#
有点东西 发表于 2022-9-5 12:24
我测试是可以的,可以把你的ssjson上传分析一下。

不知道哪来的这个格式,也是在spreadjs里边填写的

sheet-json.txt

146.27 KB, 下载次数: 31

回复 使用道具 举报
汇新泓博
金牌服务用户   /  发表于:2022-9-5 17:56:54
5#
有点东西 发表于 2022-9-5 17:04
导出之后格式丢失是因为单元格里面存的是字符串,excel是不支持给字符串设置格式。

那在spreadjs中显示是正确的
回复 使用道具 举报
有点东西悬赏达人认证
初级会员   /  发表于:2022-9-5 18:12:56
6#
汇新泓博 发表于 2022-9-5 17:56
那在spreadjs中显示是正确的

因为SpreadJS是支持的,所以可以正常显示,另外,就像"1"这个字符串,SpreadJS也是能正常计算的,而Excel是不支持这种计算。

所以像是上面的日期以及"1"这种字符串的计算excel是不支持,因此导出就不一致。更准确来说是excel的规则问题。要想excel也支持,你得设置date单元格值,而不是带有引号的字符串。
image.png829209289.png
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-9-6 12:15:00
7#
您好,电话中已与您做了交流,定位到该问题原因是value为字符串,需要从源头入手调研该value是如何产生的,从而避免此问题。
建议您排查下项目代码,如有疑问可再追帖交流。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部