Hallo Experten,
ich habe wieder einmal ein kleines Problem und bin mit der Suchfunktion nicht auf etwas wirklich Hilfreiches für mich gestoßen.
Ich habe eine GUI mit u. a. vielen JTextFields. Durch Betätigen eines Buttons werden die eingegebenen Werte eingelesen und in eine Excel-Datei geschrieben. In dem Zusammenhang arbeite ich mit Apache POI.
Problematisch ist, dass auch Zahlen eingegeben (integer und double – Eingaben von PLZ bis Länge in Meter (z. B. 5,92 m) sollen möglich sein) werden. Mit diesen kann in Excel zwar weitergerechnet werden. Allerdings sind die Zellen standardmäßig als Text formatiert und an der jeweiligen Zelle befindet sich ein gelbes Ausrufezeichen, das exakt das moniert. Mein Ziel ist, dass man diese Zahlen von der Formatierung her nicht von denen von Hand (ich möchte nichts von Hand eintragen, mir geht es ums Prinzip) unterscheiden kann.
Die relevanten Codeausschnitte:
[JAVA=42]
public JTextField getLängeField()
{
return längeField;
}
[/code]
[JAVA=42]
String länge = getLängeField().getText();
//double l = (String)länge;
[/code]
[JAVA=42]
HSSFCell cell4 = row.createCell(4); //soll Zelle in Spalte 4 erstellen
//cell4.setCellType(Cell.CELL_TYPE_NUMERIC);
//HSSFCellStyle cellStyle = workbook.createCellStyle();
//cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0"));
//cell4.setCellStyle(cellStyle);
cell4.setCellValue(länge); //Wert der gesetzt werden soll.
[/code]
Wie man sieht habe ich schon Einiges erfolglos probiert. Mit dem Versuch über CellStyle (die Idee habe ich hier aus dem Forum) habe ich immerhin hinbekommen, dass die Zelle in Excel nicht mehr das Format „Standard“ sondern „Zahl“ hat. Ansonsten hat sich aber nichts geändert. Muss noch dazu sagen, ich bin Anfänger und die Infoseiten von Apache haben mir nicht geholfen.
Busy Developers' Guide to HSSF and XSSF Features
Könnt ihr mir weiterhelfen? Ich nutze Excel 2007 falls das noch von Interesse ist. Bei Bedarf kann ich auch den kompletten Code posten.
Frohe Ostern & vielen Dank an Euch.
ich habe wieder einmal ein kleines Problem und bin mit der Suchfunktion nicht auf etwas wirklich Hilfreiches für mich gestoßen.
Ich habe eine GUI mit u. a. vielen JTextFields. Durch Betätigen eines Buttons werden die eingegebenen Werte eingelesen und in eine Excel-Datei geschrieben. In dem Zusammenhang arbeite ich mit Apache POI.
Problematisch ist, dass auch Zahlen eingegeben (integer und double – Eingaben von PLZ bis Länge in Meter (z. B. 5,92 m) sollen möglich sein) werden. Mit diesen kann in Excel zwar weitergerechnet werden. Allerdings sind die Zellen standardmäßig als Text formatiert und an der jeweiligen Zelle befindet sich ein gelbes Ausrufezeichen, das exakt das moniert. Mein Ziel ist, dass man diese Zahlen von der Formatierung her nicht von denen von Hand (ich möchte nichts von Hand eintragen, mir geht es ums Prinzip) unterscheiden kann.
Die relevanten Codeausschnitte:
[JAVA=42]
public JTextField getLängeField()
{
return längeField;
}
[/code]
[JAVA=42]
String länge = getLängeField().getText();
//double l = (String)länge;
[/code]
[JAVA=42]
HSSFCell cell4 = row.createCell(4); //soll Zelle in Spalte 4 erstellen
//cell4.setCellType(Cell.CELL_TYPE_NUMERIC);
//HSSFCellStyle cellStyle = workbook.createCellStyle();
//cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0"));
//cell4.setCellStyle(cellStyle);
cell4.setCellValue(länge); //Wert der gesetzt werden soll.
[/code]
Wie man sieht habe ich schon Einiges erfolglos probiert. Mit dem Versuch über CellStyle (die Idee habe ich hier aus dem Forum) habe ich immerhin hinbekommen, dass die Zelle in Excel nicht mehr das Format „Standard“ sondern „Zahl“ hat. Ansonsten hat sich aber nichts geändert. Muss noch dazu sagen, ich bin Anfänger und die Infoseiten von Apache haben mir nicht geholfen.
Busy Developers' Guide to HSSF and XSSF Features
Könnt ihr mir weiterhelfen? Ich nutze Excel 2007 falls das noch von Interesse ist. Bei Bedarf kann ich auch den kompletten Code posten.
Frohe Ostern & vielen Dank an Euch.