. Nachfolgend finden Sie das Code-Snippet. Die Implementierung liest Zellenwerte für eine bestimmte Spalte im Excel-Arbeitsblatt.Numerische Zellenwerte in Excel werden abnormal gelesen, mit zusätzlichen Ziffern nach dem Dezimalpunkt
Numerische Werte wie 459000.00 werden vom Code als 459000.00000000006 gelesen. Es funktioniert gut für einige der Zahlen, aber scheitert für einige.
try
{
String AmountColumn="C";
File FS = new File(FileLocation);
FileInputStream FileStream = new FileInputStream(FS);
XSSFWorkbook FileWorkbook = new XSSFWorkbook(FileStream);
Sheet FileWorksheet = FileWorkbook.getSheetAt(0);
double[] AmountArray = new double[FileWorksheet.getPhysicalNumberOfRows() - 1];
Iterator<Row> iterator2 = FileWorksheet.iterator();
int i2 = 0;
while (iterator2.hasNext())
{
if (i2 == 0)
{
iterator2.next();
}
else
{
AmountArray[i2 - 1] = iterator2.next().getCell(CellReference.convertColStringToIndex(AmountColumn)).getNumericCellValue();
System.out.println("Amount is: " + AmountArray[i2 - 1]);
}
i2++;
}
Amount = AmountArray;
}
catch (Exception e)
{
e.printStackTrace();
}