Wenn Sie POI zum Exportieren von Excel verwenden und die Zelle auf reine Zahlen eingestellt ist, werden die Eingabedaten automatisch in wissenschaftlicher Notation angezeigt, sobald sie zu groß sind, was zu einem Fehler beim Import führt Die Lösung besteht darin, die Datei im Hintergrund zu exportieren. Die erzwungene Konvertierung von Zellattributen kann perfekt gelöst werden und eignet sich auch für Ausnahmen beim Datenimport, die durch andere Zellformate verursacht werden
Heute erhielt ich eine Anfrage von der Geschäftsseite, in der es hieß: Es handelt sich um den aus Excel importierten Betrag, und alles ist gerundet. Dann habe ich den Code überprüft: Ich war zuerst geblendet und konnte es nicht ertragen. Aber denken Sie darüber nach, als Programmierer können Sie sich nicht weigern, den Menschen zu dienen. Also habe ich es debuggt. Ich war wirklich faul und wollte den Code nicht direkt verfolgen, also ging ich zum Debuggen ... Der GrundIch habe den spezifischen Grund gefunden:Cell cellCode = r.getCell(1); cellCode.setCellType(CellType.STRING); info.setCode(r.getCell(1).getStringCellValue());
if (xssfRow.getCellType() == Cell.CELL_TYPE_NUMERIC) { DecimalFormat format = new DecimalFormat("#"); double num = xssfRow.getNumericCellValue(); String res = format.format(num); //…… }
Symbolbedeutung:
0 eine Zahl
if (xssfRow.getCellType() == Cell.CELL_TYPE_NUMERIC) { DecimalFormat format = new DecimalFormat("#"); double num = xssfRow.getNumericCellValue(); String res = format.format(num); // num 和 res 的取值差不多。 如: 50.00 : num 为 50.00,res 为 50; 123.23, num 为123.23, res为123.23 System.err.println(num + "--" + res); //…… }
Das obige ist der detaillierte Inhalt vonWie kann das Problem des POI-Imports reiner Zahlen und anderer Formate über Java gelöst werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!