Sto usando Apache POI per un po 'di tempo per leggere i file Excel 2003 esistenti a livello di programmazione. Ora ho un nuovo requisito per creare interi file .xls in memoria (ancora utilizzando Apache POI) e quindi scriverli in un file alla fine. L'unico problema che mi ostacola è la gestione delle celle con le date.
Considera il codice seguente:
Date myDate = new Date();
HSSFCell myCell;
// code that assigns a cell from an HSSFSheet to 'myCell' would go here...
myCell.setCellValue(myDate);
Quando scrivo la cartella di lavoro contenente questa cella su un file e la apro con Excel, la cella viene visualizzata come un numero. Sì, mi rendo conto che Excel memorizza le sue "date" come numero di giorni dal 1 gennaio 1900 e questo è ciò che rappresenta il numero nella cella.
DOMANDA: Quali chiamate API posso utilizzare in POI per comunicargli che desidero applicare un formato di data predefinito alla cella della mia data?
Idealmente, voglio che la cella del foglio di calcolo venga visualizzata con lo stesso formato di data predefinito che Excel le avrebbe assegnato se un utente avesse aperto manualmente il foglio di calcolo in Excel e avesse digitato un valore di cella che Excel ha riconosciuto come una data.
BuiltinFormats
che elenca tutti i formati standard (non solo i formati di data) conosciuti da Excel. Mi attengo a uno di quelli da utilizzare come parametro per ilgetFormat()
metodo mostrato nello snippet sopra.