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"));
我有这段代码可以写入 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"));