找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] GC保存日期出错

行云数据
金牌服务用户   /  发表于:2021-2-1 09:40  /   查看:2083  /  回复:5
前台输入日期1900-01-12,后台GC的java代码,保存数据到Excel,显示日期不一致,如图:
image.png880570373.png
Java部分代码:
workbook.save("E:\\my.xlsx");

915000193502052242_2019年第一季度_房产税申报表(包含底稿).xlsx

25.71 KB, 下载次数: 21

5 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-2-1 10:26:50
沙发
您好,麻烦您在SpreadJS中导出一份能复现问题的ssjson这边调研一下。
回复 使用道具 举报
行云数据
金牌服务用户   /  发表于:2021-2-1 21:38:29
板凳
详见DEMO,操作流程:
1、打开页面后,在【所属期起】输入11,然后回车,日期变为【1900年1月10日】,然后点击【导出当前Sheet到PDF】,文件会保存到D盘;

2、打开保存D盘的那个Excel文件,比对下页面【所属期起】,即可复现我的描述的问题;


GC-日期BUG-Demo.zip

3.46 MB, 下载次数: 24

回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-2-2 09:23:21
地板
行云数据 发表于 2021-2-1 21:38
详见DEMO,操作流程:
1、打开页面后,在【所属期起】输入11,然后回车,日期变为【1900年1月10日】,然后 ...

经过调研,这是Excel和js日期计算的差异。在Excel中会把1900年当做闰年计算,而实际上1900年是平年,而闰年比平年多一天,所以Excel在1900年2月29前会与js差一天。而在1900年2月29后,js的时间是与Excel一致了。

请问这个时间对您实际的使用上带来了什么困扰吗?或者这个时间对您的实际使用场景有什么影响呢
回复 使用道具 举报
行云数据
金牌服务用户   /  发表于:2021-2-3 19:55:49
5#
日期对我们很重要啊,我们要保证Js显示的日期和GC-Excel解析的日期要一致,不容有错误,excel数据读取归档就会出问题
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-2-4 09:14:47
6#
行云数据 发表于 2021-2-3 19:55
日期对我们很重要啊,我们要保证Js显示的日期和GC-Excel解析的日期要一致,不容有错误,excel数据读取归档 ...

一般的场景来说不会用到1900年3月1之前的时间,请问这个时间对于您的实际使用场景有什么影响呢?

在1900年3月1日之后的时间是不会有这个差异的。如果您需要用到1900年3月1日之前的日期,您可以通过判断日期是否在3月1日前,如果在,则给日期加1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部