Zahlenformat POI

Status
Nicht offen für weitere Antworten.
L

Losimund

Gast
Hallo java-forum.org Mitglieder,

Ich habe ein kleines (großes) Problem mit POI und der Zahlenformatierung.

Ich habe mir ein neues CellStyle erstellt:

Java:
HSSFCellStyle style_numberformat = vorlage.createCellStyle();
style_numberformat.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00 €"));

diesen CellStyle setze ich nun auf meine Cell auf:

Java:
cell = row.createCell((short)6);
cell.setCellStyle(style_numberformat);
cell.setCellValue(daten.getBrutto());

allerding formatiert er die Zahlen nicht korrekt. Das bedeutet, dass bei mir anstatt ein € - Zeichen ein Fragezeichen auftaucht.
In dem System, in dem ich arbeite wird unicode verwendet.(UNICODE = anderer Zeichensatz vermute ich mal)

Danke für die Hilfe

Gruß Gast88
 
L

Losimund

Gast
Danke werde ich mal ausprobieren aber ich bemerke gerade das es nur ein Bug war. Die Zahlen werden überhaupt nicht formatiert. Das war nur ein Restcode von einem anderen Versuch. Wenn ich den Weglasse passiert rein gar nichts mit den Daten.

Gruß Losimund
 
L

Losimund

Gast
Hallo nochmal,

also bei mir funktioniert die Formatierung vorne und hinten nicht.


Ich habe nun ein neues HSSFCellStyle erstellt und zwar folgendermaßen:

Java:
style_numberformat.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00 €"));

und beim schreiben der Values gebe ich den CellStyle wieder an:

Java:
cell = row.createCell((short)5);
cell.setCellStyle(style_numberformat);
cell.setCellValue(daten.getNetto());

aber es funktioniert nicht. Wo ist da mein Denk-Fehler

Danke Gruß Losimund
 
L

Losimund

Gast
Hallöchen :) hat sich erledigt ich habe mit der neuen POI Version die Formatierung einfacher gestalten können.

Für alle, die gerne wissen möchten, wie es funktioniert, hier der Code + Erläuterung:

Als erstes, habe ich mir einen neuen CellStyle erstellt:

Java:
HSSFCellStyle style_numberformat = vorlage.createCellStyle();

Danach habe ich ein einfaches DataFormat erstellt und den Namen number_format gegeben:

Java:
DataFormat number_format = vorlage.createDataFormat();

Danach wird dem neu erstellten CellStyle das DataFormat übergeben :

Java:
style_numberformat.setDataFormat(number_format.getFormat("#,##0.00 €"));

Zum Schluss legt Ihr eure Cell an, setzt den CellStyle für diese Cell und setzt den Wert innerhalb der Zelle, welcher formatiert werden soll.

Java:
cell = row.createCell(5);            // erstellen der Zelle
cell.setCellStyle(style_numberformat); // CellStyle setzen
cell.setCellValue(123465);                // Wert setzen

hoffe diese Information wird einigen Usern helfen, da ich mich u.a zu tode gesucht habe um auf den richtigen Weg zu kommen.
Das Thema kann dann bitte auf erledigt gesetzt werden, da ich nur als Gast angemeldet bin ist dies nicht möglich.

Danke Gruß Björn
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben