Hallo zusammen,
ich arbeite gerade an einer Methode die aus einer Excel-Tabelle Kundennummern zu reinen Nummern macht, d.h. meine Methode entfernt Buchstaben und Sonderzeichen. z.B. aus meinem Wert in der Excel-Tabellen-Zelle KD-12345 wird ein String mit dem Wert "12345".
Das klappt hervorragend. Mit der Methode selbst habe ich kein Problem.
Aber in einem Fall gibt es schon beim Import aus Excel ein Problem:
Beinhaltet nämlich die Nummer aus der Excel-Tabelle ohnehin keine Sonderzeichen/Buchstaben, wandelt sich beim Import bspw. die Zahl 12345 zum String "1.2345" um oder die Zahl 2022 wird zu "20220".
Ich habe bereits versucht, die Zellen der Tabelle in Excel zu formattieren... Standard. Nummerformat ohne Nachkommastellen und und und... ich habe keine Ahnung, wie ich das ändern kann.
Das Problem entsteht ausschließlich, wenn es reine Zahlen sind.
Hat jemand eine Ahnung?
Falls ihr mehr Infos braucht - einfach schreiben.
[CODE lang="java" title="Methode zum Einlesen der Tabelle (die Attribute habe ich entsprechend der Superklasse benannt. ich arbeite mit apache poi)"]public void openFile(String filePath) throws IOException {
File file = new File(filePath);
fileInputStream = new FileInputStream(file);
workbook = WorkbookFactory.create(fileInputStream);
sheet = workbook.getSheetAt(0);
fileInputStream.close();
workbook.close();
}[/CODE]
[CODE lang="java" title="die Methode, wo ich den String initialisiere" highlight="3,4"]for (int i = 0; i < 5; i++){ //
StringBuilder cleanedStr = new StringBuilder();
String str = String.valueOf(sheet.getRow(i).getCell(0));
System.out.println("# " + sheet.getRow(i).getCell(0));
[...]
} System.out.println("\n");
[/CODE]
Ausgabe bei der letzten Methode:
# 12345.0
# AF-123455
# 1.3081997E7
# 2022.0
# 2021!
Und das Gesamtresultat bei den Werten der Originaltabelle: 12345, AF123455, 13081997, 2020, 2021!
123450 | 123455 | 130819977 | 20220 | 2021
Wie man sieht, die fett markierten verursachen Fehler beim Import in java. Obwohl ich es als String halte, werden die Strings zur Exponent-Darstellung...
ich arbeite gerade an einer Methode die aus einer Excel-Tabelle Kundennummern zu reinen Nummern macht, d.h. meine Methode entfernt Buchstaben und Sonderzeichen. z.B. aus meinem Wert in der Excel-Tabellen-Zelle KD-12345 wird ein String mit dem Wert "12345".
Das klappt hervorragend. Mit der Methode selbst habe ich kein Problem.
Aber in einem Fall gibt es schon beim Import aus Excel ein Problem:
Beinhaltet nämlich die Nummer aus der Excel-Tabelle ohnehin keine Sonderzeichen/Buchstaben, wandelt sich beim Import bspw. die Zahl 12345 zum String "1.2345" um oder die Zahl 2022 wird zu "20220".
Ich habe bereits versucht, die Zellen der Tabelle in Excel zu formattieren... Standard. Nummerformat ohne Nachkommastellen und und und... ich habe keine Ahnung, wie ich das ändern kann.
Das Problem entsteht ausschließlich, wenn es reine Zahlen sind.
Hat jemand eine Ahnung?
Falls ihr mehr Infos braucht - einfach schreiben.
[CODE lang="java" title="Methode zum Einlesen der Tabelle (die Attribute habe ich entsprechend der Superklasse benannt. ich arbeite mit apache poi)"]public void openFile(String filePath) throws IOException {
File file = new File(filePath);
fileInputStream = new FileInputStream(file);
workbook = WorkbookFactory.create(fileInputStream);
sheet = workbook.getSheetAt(0);
fileInputStream.close();
workbook.close();
}[/CODE]
[CODE lang="java" title="die Methode, wo ich den String initialisiere" highlight="3,4"]for (int i = 0; i < 5; i++){ //
StringBuilder cleanedStr = new StringBuilder();
String str = String.valueOf(sheet.getRow(i).getCell(0));
System.out.println("# " + sheet.getRow(i).getCell(0));
[...]
} System.out.println("\n");
[/CODE]
Ausgabe bei der letzten Methode:
# 12345.0
# AF-123455
# 1.3081997E7
# 2022.0
# 2021!
Und das Gesamtresultat bei den Werten der Originaltabelle: 12345, AF123455, 13081997, 2020, 2021!
123450 | 123455 | 130819977 | 20220 | 2021
Wie man sieht, die fett markierten verursachen Fehler beim Import in java. Obwohl ich es als String halte, werden die Strings zur Exponent-Darstellung...
Zuletzt bearbeitet: