Nie tylko trzeba utworzyć format komórki, ale także zastosować go do komórki!
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);
Po drugie, należy pamiętać, że Java i Excel różnią się nieznacznie sposobem wyrażania reguł formatowania daty. Powinieneś otworzyć kopię programu Excel, sformatować komórkę próbną, jak chcesz, a następnie zanotować wymagane reguły formatowania. W twoim przypadku poszedłeś na duże litery w stylu Java M, podczas gdy w Excelu jest to małe (patrz wyżej)
Przepraszam, ale co to jest CS? – Leo
@Leo Jest to XSSFCellStyle – stg