JXL(Java)更改为1904日期系统
我需要将日期系统更改为使用(而不是) 每次我使用JXLAPI写东西时,日期系统都设置为默认值,我需要更改日期系统 当我写负时间值(例如-0:55)时,我得到的是##########而不是-0:55 在Excel中将日期系统更改为1904后,更改为-0:55JXL(Java)更改为1904日期系统,java,excel,date,jxl,Java,Excel,Date,Jxl,我需要将日期系统更改为使用(而不是) 每次我使用JXLAPI写东西时,日期系统都设置为默认值,我需要更改日期系统 当我写负时间值(例如-0:55)时,我得到的是##########而不是-0:55 在Excel中将日期系统更改为1904后,更改为-0:55 有没有办法在JXL中自动更改此设置?JXL的实际版本无法做到这一点。我也有同样的问题,我只是对jxl做了一些调试。Jxl正确读取1904年日期格式的记录,但不会写入它。它总是将1900年日期格式作为常量写入 我看到以下解决方案: 1) 更改j
有没有办法在JXL中自动更改此设置?JXL的实际版本无法做到这一点。我也有同样的问题,我只是对jxl做了一些调试。Jxl正确读取1904年日期格式的记录,但不会写入它。它总是将1900年日期格式作为常量写入 我看到以下解决方案: 1) 更改jxl库,使其可以写入1904年的日期格式。这应该没那么难。在方法
WritableWorkbookImpl.write()
中,必须在行中进行更改
NineteenFourRecord nf = new NineteenFourRecord(false);
1904日期格式的参数值false
到true
在私有方法DateRecord.calculateValue(布尔值)
中,必须更改行
value = utcDays + utcOffsetDays;
在某种程度上,用一个不同的常数替换utcOffsetDays
,对于1904年的日期格式,天数减少四年
可能有更多的地方需要更改(特别是当使用1904格式作为工作簿属性来执行一个漂亮的解决方案时),但这与我的程序相关。在销售您的程序时,还要注意LGPL的义务
2) 更简单的解决方案:将始终为正值的时间值放入单元格,并以单元格格式存储符号。例如,使用格式“[h]:mm:ss”
表示正值,使用格式“-[h]:mm:ss”
表示负值
解决方案2的缺点):虽然看起来很完美,但单元格中有一个正值,这意味着负值,在进行计算时,结果可能是错误的