Comment régler la date type de date dans excel avec apache poi?
Je suis en utilisant apache poi 3,8 à créer un fichier excel. Ce fichier excel doit contenir certaines dates.
Je suis en train d'écrire une date dans le fichier excel avec comme format excel de type "date". Mais j'ai toujours été un type "custom". J'ai besoin d'utiliser le type "date", de sorte qu'il sera localisé basé sur les paramètres utilisateurs.
J'ai essayé ce qui suit:
Apache POI localisée la Date dans la cellule Excel
Mais il se complique pas de travail.
C'est le code que j'ai:
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("new sheet");
XSSFDataFormat df = wb.createDataFormat();
CellStyle cs = wb.createCellStyle();
cs.setDataFormat(df.getFormat("d-mmm-yy"));
XSSFCell cell = sheet.createRow(0).createCell(0);
Calendar c = Calendar.getInstance();
c.set(2012,3-1,18);
cell.setCellValue( c.getTime() );
cell.setCellStyle(cs);
//Write the output to a file
FileOutputStream fileOut = new FileOutputStream("c:\\temp\\dates-sworkbook.xlsx");
wb.write(fileOut);
fileOut.close();
Quel format dois-je utiliser?
Grâce
OriginalL'auteur cremersstijn | 2012-06-29
Vous devez vous connecter pour publier un commentaire.
Date est l'un de la spéciale, construite dans les formats. Si vous souhaitez l'utiliser de manière explicite, alors vous devez choisir explicitement. (Presque tous les formats utilisés dans Excel sont personnalisées, qui rendent la façon dont vous le préciser, mais il y a un peu spécial)
PI a la liste complète de spécial, construit dans des formats (qui est beaucoup plus petite que la liste des formats dans les listes déroulantes dans les copies récentes d'Excel!) dans BuiltinFormats. Si vous assurez-vous de définir l'un de ceux-ci, et non votre propre chaîne de format personnalisée, il doit comporter exactement comme vous vous attendez à
Nope, d-mmm-yy est un style Européen format. C'est ce que des choses comme le construit (style Américain) ressemble lorsque vous l'affichez dans l'Europe!
En fait, il n'est pas vrai. J'ai spécifié le format 22 (0x16, "j/m/aa hh:mm"). Mais il est montré comme "Personnalisé".
OriginalL'auteur Gagravarr
Ne sais pas vraiment si vous avez résolu ce déjà ou pas, mais voici un code qui permettrait de résoudre la il.
Elle a effectivement résolu mon problème.
Prises de
http://poi.apache.org/spreadsheet/quick-guide.html#CreateDateCells
OriginalL'auteur Lowb
Je comprends votre problème. Je l'ai résolu en utilisant DateUtil de Apache Poi.
Profitez-en !!
OriginalL'auteur Marcus
Il est résolu à l'aide ci-dessous:
OriginalL'auteur Arjun Marati