Veuillez trouver ci-dessous l'extrait de code. L'implémentation lit les valeurs de cellule pour une colonne particulière dans une feuille Excel.Les valeurs de cellules numériques dans Excel sont lues anormalement avec des chiffres supplémentaires ajoutés après le point décimal
Les valeurs numériques telles que 459000.00 sont lues par le code 459000.00000000006. Cela fonctionne bien pour quelques-uns des nombres, mais échoue pour certains.
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();
}