Excel 无法识别 jxl 日期格式

Excel does not recognize jxl dateformat

我有这段代码可以写入 excel 文件。

DateFormat customDateFormat = new DateFormat("yyyy/MM/dd HH:mm:ss");
WritableCellFormat dateFormat = new WritableCellFormat(new WritableFont(WritableFont.ARIAL), customDateFormat);

我可以成功写入 excel 文件,但有一个问题是 Excel 无法识别我的日期格式("yyyy/MM/dd HH:mm:ss")。

但是当我 select 单元格并按回车键时。将文本格式化为我指定的日期格式。

当我 select 格式单元格选项时,它已经在 "yyyy/MM/dd HH:mm:ss") 处预先 select 编辑,但还不是那种格式。

与excel或jxl有关吗?我一直在寻找一整天。 谢谢!

1 ) 将字符串转换为日期并将日期转换为字符串(对于我而言)

我从我的数据库中接收到字符串形式的日期。
使用 SimpleDateFormat 解析和格式化字符串。
使用字符串变量 return 结果。

public static String convertDateToStringDMY(String input) throws ParseException{
      SimpleDateFormat df1 = new SimpleDateFormat("dd/MM/yyyy");
      SimpleDateFormat df2 = new SimpleDateFormat("dd-MM-yyyy");
      String temp,result;    
      if(input!=null){
      Date date = df2.parse(input);
      temp = df1.format(date);
      result = temp;
      }
      else{
          result = "";
      }
      return result;
    }

2) @Mare Geldenhuys 是正确的。
jxl 不计算公式,这意味着日期将正确插入到 excel 文件中,Excel 会将它们识别为日期。但是你不能对它们执行公式(例如,你不能对所有日期 +1 小时,你必须手动对每个单元格 +1 小时。幸好有一些技巧。)。

更新

我找到了 excel 的解决方案,可以预先 select 单元格作为日期。
首先,确保数据是日期类型(不是字符串,如果是字符串,excel将预select作为自定义类型)。
并使用 DateFormat 方法将 CellFormat 设置为。

WritableCellFormat dateformat1 = new WritableCellFormat(new DateFormat("d/m/yyyy"));