Bạn không chỉ cần tạo định dạng ô, nhưng bạn cũng cần áp dụng nó cho ô!
XSSFDataFormat df = workBook.createDataFormat();
cs.setDataFormat(df.getFormat("d-mmm-yy"));
// Get/Create our cell
XSSFRow row = sheet.createRow(2);
XSSFCell cell = row.createCell(3);
// Set it to be a date
Calendar c = Calendar.getInstance();
c.set(2012,3-1,18); // Don't forget months are 0 based on Calendar
cell.setCellValue(c.getTime());
// Style it as a date
cell.setCellStyle(cs);
Thứ hai, bạn cần lưu ý rằng Java và Excel hơi khác về cách diễn đạt quy tắc định dạng ngày. Bạn nên mở một bản sao của Excel, định dạng một ô mẫu theo cách bạn muốn, sau đó ghi lại các quy tắc định dạng cần thiết. Trong trường hợp của bạn, bạn đã sử dụng chữ hoa chữ thường kiểu chữ M, trong khi Excel là chữ thường (xem ở trên)
xin lỗi, nhưng cs là gì? – Leo
@Leo Đó là một XSSFCellStyle – stg