找回密码
 立即注册

QQ登录

只需一步,快速开始

酷比勒

注册会员

10

主题

29

帖子

125

积分

注册会员

积分
125
酷比勒
注册会员   /  发表于:2024-7-9 19:49  /   查看:791  /  回复:9
1金币
本帖最后由 酷比勒 于 2024-7-10 10:23 编辑

我在模板里面设置了自定义的日期格式

image.png966252746.png

页面绑定数据表示没问题。
image.png816248168.png
但是vue代码中使用spread.export方法导出excel之后,excel里面的格式不正确,如下图。不是我模板设定的格式。请问这个是什么原因,怎么解决?
image.png734584045.png
光标点进单元格之后再离开单元格,这时候格式又与我模板设定的一致,如下图。
image.png649838256.png

最佳答案

查看完整内容

明白了,从上面的结果来看,您导出的日期实际上是一个字符串,也就是“2024/04/01”。 这样导出时候可以重现您目前的情况 这是一个历史原因,SpreadJS早些时候的设计是可以支持对字符串进行format日期的,但是这个Excel是不支持的。所以如果设置字符串的日期会出现上述情况,这是设计使然。 SpreadJS中规定如果需要对格式化的日期导出Excel,需要给日期设置为date类型。例如下面的设置 此类设置在format之后导出Excel可 ...

9 个回复

倒序浏览
最佳答案
最佳答案
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-9 19:49:01
来自 8#
明白了,从上面的结果来看,您导出的日期实际上是一个字符串,也就是“2024/04/01”。
image.png463065185.png
这样导出时候可以重现您目前的情况
image.png776911620.png
这是一个历史原因,SpreadJS早些时候的设计是可以支持对字符串进行format日期的,但是这个Excel是不支持的。所以如果设置字符串的日期会出现上述情况,这是设计使然。
SpreadJS中规定如果需要对格式化的日期导出Excel,需要给日期设置为date类型。例如下面的设置
image.png832079467.png
此类设置在format之后导出Excel可以显示格式化之后的结果。
image.png586905822.png
跟您说的是否用代码export没有关系,因为Designer底层的导出逻辑就是spread.export。

回复 使用道具 举报
eat_grape_5
中级会员   /  发表于:2024-7-10 08:54:40
2#
本帖最后由 eat_grape_5 于 2024-7-10 08:56 编辑

我用17.0.7版本的操作过程如下动图所示,导出前后数据保持一致的自定义时间格式。
17.0.7导出自定义时间格式.gif
回复 使用道具 举报
酷比勒
注册会员   /  发表于:2024-7-10 09:40:11
3#
eat_grape_5 发表于 2024-7-10 08:54
我用17.0.7版本的操作过程如下动图所示,导出前后数据保持一致的自定义时间格式。

感谢回答,
但我指的不是您这种操作,而是vue代码中引用带格式的模板,vue代码中使用spread.export进行导出时出现的问题现象,而不是编辑器保存的excel。
通过代码导出时才发生的问题。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-10 10:08:21
4#
没有看到您导出Excel后的效果截图,根据您的文字描述,您指的是导出Excel后双击进入编辑状态里面的日期显示的是yyyy/mm/dd吗?就像下图这样:
image.png785975341.png
然后退出后又显示回了yyyy-mm-dd
image.png255959166.png
是上述的效果吗?
如果是上述的效果,那么是完全正确的,因为formatter即单元格格式,不会改变单元格的真实值,只会改变单元格的显示值,双击进入编辑状态后,显示的是单元格的真实值而非显示值,这个是Excel的设计和规则。
回复 使用道具 举报
酷比勒
注册会员   /  发表于:2024-7-10 10:16:19
5#
Clark.Pan 发表于 2024-7-10 10:08
没有看到您导出Excel后的效果截图,根据您的文字描述,您指的是导出Excel后双击进入编辑状态里面的日期显示 ...

不好意思,您的理解完全不是我要问的问题。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-10 11:40:25
6#
那您倒是上传一个您这边导出的Excel文件,我们看看实际效果
回复 使用道具 举报
酷比勒
注册会员   /  发表于:2024-7-10 16:09:02
7#
Clark.Pan 发表于 2024-7-10 11:40
那您倒是上传一个您这边导出的Excel文件,我们看看实际效果

sample.zip (5.73 KB, 下载次数: 148)
回复 使用道具 举报
酷比勒
注册会员   /  发表于:2024-7-11 08:40:44
9#
Clark.Pan 发表于 2024-7-10 17:50
明白了,从上面的结果来看,您导出的日期实际上是一个字符串,也就是“2024/04/01”。

这样导出时候可以 ...

感谢回答,原因了解了
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-11 09:01:58
10#
好的,那就结贴了,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部