我尝试使用jxl创建Excel工作表.我的一个领域是Date,我住的是GMT + 1 TimeZone
我用这样的东西来做:
WritableCellFormat EXCEL_DATE_FORMATTER = new WritableCellFormat(new DateFormat("dd/MM/yyyy hh:mm"));
...
WritableCell cell = null;
cell = new jxl.write.DateTime(col, row, date);
cell.setCellFormat(EXCEL_DATE_FORMATTER);
Run Code Online (Sandbox Code Playgroud)
日期是以正确的格式写的,但是有一个-1小时的值(格林尼治标准时间)我试图找到一个解决方案,我发现这个 http://www.andykhan.com/jexcelapi/tutorial.html#dates 但我可以'将一个SimpleDateFormat传递给DateCell.有办法吗?现在我使用java.util.Calendar添加一个小时,但这是一个可怕的解决方案.谢谢你的帮助!
jxl.write.DateTime 类有几个构造函数(参见API)。
默认情况下,它将使用您的系统时区来修改日期。您可以将 jxl.write.DateTime.GMTDate 对象传递给构造函数来禁用此功能。这是您应该使用的代码:
WritableCell cell = null;
cell = new jxl.write.DateTime(col, row, date, DateTime.GMT);
Run Code Online (Sandbox Code Playgroud)