2016-05-28 4 views
0

Ich lese eine Excel-Datei mit dem XMLStreamReader-Objekt. Die Initialisierung dieses Objekts ist etwas wie folgt aus:Excel-Datei mit XMLStreamReader lesen (Zahl als String lesen, nicht als Zahl)

opcPkg = OPCPackage.open(excelPath, PackageAccess.READ); 
xssfReader = new XSSFReader(opcPkg); 
factory = XMLInputFactory.newInstance(); 
iterator = xssfReader.getSheetsData(); 
inputStream = iterator.next(); 
xmlReader = factory.createXMLStreamReader(inputStream); 

Der Inhalt einer Zelle werden diese Aussage gelesen Verwendung

xmlReader.getElementText(); 

Das Problem ist, dass eine einfache Zahlenkette 10.2 in einer Zelle enthalten ist, wobei lesen Sie als 10.199999999999999. Ich möchte, dass es nur als 10.2 gelesen wird. Gibt es eine Möglichkeit, dies zu lösen?

+1

Haben Sie versucht, mit [DataFormatter] (http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/DataFormatter.html)? Wenn nicht, was passiert, wenn du es tust? – Gagravarr

Antwort

0

Wenn Sie es als String lesen, nicht analysieren Sie es mit

Double.parseDouble(...getText()); 

, dass der sicherste Weg wäre, eine Zahl aus einer Textzeile zu bekommen

Verwandte Themen