Apache POI Monnaie de Format de Données

J'essaie de convertir des nombres en monnaie européenne style avec Apache POI

HSSFDataFormat cf = workbook.createDataFormat();
currencyCellStyle = workbook.createCellStyle();
currencyCellStyle.setDataFormat(cf.getFormat("#.###,#0"));

J'ai par exemple le nombre de 2400 et 2.4

Ce que je veux, c'est 2400,00 et 2,40 .
Mais POI me donne 2400,0 et 2,40.
Quand j'ai essayer de le modifier pour

currencyCellStyle.setDataFormat(cf.getFormat("#.###,00"));

- Je obtenir le résultat 2400,00 et 2 400.
C'est pas non plus ce que je veux.

Est-il une possibilité d'obtenir à la fois des valeurs correctes?

Merci et Salutations

  • Je pense que vous devez définir la chaîne de format des états-unis/royaume-UNI, style, puis ouvrez le fichier dans une copie d'Excel dans un pays Européen, et il va de rendu que vous attendez. Avez-vous essayer?
  • thx qui fonctionne en partie. La virgule et le point sont définies dans le style européen lors de l'utilisation de "#,###.#0" qui est modifié lors de l'ouverture dans excel à 2.400,0 . Mais je ne reçois un zéro après la virgule. Le nombre d'entrée est de 2400.
  • Qu'advient-il si vous créez un nouveau fichier dans Excel, le style comme vous le souhaitez, puis le charger dans Apache POI et de lire la chaîne de format, que voyez-vous là?
  • parfait. J'ai créé un fichier excel et de définir le style d'une cellule à monnaie avec 2 chiffres. Puis j'ai lu le fichier avec apache poi et de lire le style de cellule à cellule.getCellStyle().getDataFormatString() et il est revenu '#,##0.00\ _€' j'ai Donc ajouté ce format que ma chaîne de format. J'ai donc eu des fc.getFormat("#,##0.00\\ _€") Et qui fonctionne parfaitement. Jamais vu cette mise en forme avec le symbole de l'euro et le trait de soulignement quelque part d'autre.
  • Meilleur add-il comme réponse, de sorte que tout le monde sait que c'est résolu!
InformationsquelleAutor Logarith | 2012-12-12