【发布时间】:2021-11-05 19:01:33
【问题描述】:
我在 excel 中将日期列格式设置为 M/d/yyyy,但是,当我在 Java 中读取单元格值时,日期似乎是“05/Jan/2021”,我对什么感到困惑发生?谁能帮我解决我做错了什么?
XSSFWorkbook wb1 = new XSSFWorkbook(fis1);
XSSFSheet sheet1 = wb1.getSheetAt(0); //creating a Sheet object to retrieve object
Iterator<Row> itr1 = sheet1.iterator(); //iterating over excel file
ArrayList recipientids = new ArrayList();
for (Row row : sheet1) { // For each Row.
Cell cell = row.getCell(4); // Get the Cell at the Index / Column you want.
Cell cell2 = row.getCell(5);
CellType type = cell2.getCellType();
if (type == CellType.NUMERIC) {
Date date = new Date();
SimpleDateFormat DateFor = new SimpleDateFormat("M/d/yyyy");
String dateString = cell2.toString();
String newdate = dateString.replace("-", "/");
arraylist.add(cell+"-"+newdate);
}
}
但是,当我尝试格式化时,我无法格式化/解析异常。
【问题讨论】:
-
不要再使用
SimpleDateFormat。它已经过时了这么多年了...... -
你能给我建议吗?
标签: java excel oop logic structure