Format Zahl mit Tausender-Trennzeichen in Excel, Apache-POI
Ich formatieren möchten die eine Anzahl von Zellen, wobei ein Komma als Tausender-Trennzeichen. Zum Beispiel:
12 -> 12
1200 -> 1,200
12000 -> 12,000
12000000 -> 12,000,000
120000000 -> 120,000,000
Ich habe den folgenden code. Was sollte ich als formatStr
? Gibt es eine einfache Möglichkeit? Oder muss ich erkennen, die Anzahl der Nullen, um etwas zu produzieren, wie dies #,###,###
?
String formatStr = "";
HSSFCellStyle style = workbook.createCellStyle();
HSSFDataFormat format = workbook.createDataFormat();
style.setDataFormat(format.getFormat(formatStr));
cell.setCellStyle(style);
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
Halten Sie im Verstand, ich bin den Umgang mit zahlen. Die Zelle-Typ wird eine Zahl sein, kein string.
Update
InformationsquelleAutor alkis | 2014-12-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur
#,###
oder#,##0
sollte ausreichend sein. Excel interpretiert dies als Tausendertrennzeichen jeweils drei Ziffern (nicht nur die letzten drei, die ich folgern, ist das, was Sie erwartet hatten).In den Geist der Lehre einen Mann zu Fischen, so können Sie für sich selbst herausfinden:
Format als Zahl, 0 Dezimalstellen, 1000er-Trennzeichen:
Klicken Sie auf OK, dann erneut öffnen Sie den Zahlenformat-dialog und gehen Sie zu "Benutzerdefiniert". Haben Sie einen Blick auf die code-Formatierung ("Typ"). Es sagt
#,##0
, die für mich gibt, die genau das gleiche Ergebnis wie#,###
.1200,
. Auch wenn ich versuchte, Ihre Zahl Beispiel das Verhalten gleich bleibt (das ist seltsam). Ich werde versuchen es in meinem java-code und zurück zu kommen. Überprüfen Sie bitte mein update für ein screenshot (ich könnte etwas falsch machen). Nur von Ihnen positiv bewertet werden, für jetzt.Komisch. Excel regionalen Einstellungen?... Haben Sie einen Blick auf meine erweiterte Antwort. Tut dies, bekommen Sie etwas näher?
Ok, jetzt verstehe ich. Der zweite Teil löste es bei mir, da ich bei der Suche mit dem "tausend-Trennzeichen" keywords, und dies kam stackoverflow.com/questions/14876548/... . Angenommen natürlich. Bitte denke nicht, dass ich faul bin, suchte ich nach einer bestehenden Antwort, aber nicht mit den richtigen keywords scheinbar.
InformationsquelleAutor Jean-François Corbett
Fügen Sie einfach diese:
und es wird Folgen Sie dem format, das Sie möchten.Sie können sich dieser link, um mehr format-Einstellung.
InformationsquelleAutor Ian