Ich versuche, Excel-Daten in der Soap Ui mit dem Groovy-Skript zu lesen. Alles sieht gut aus, außer wenn Skript versucht, Excell Cell-Daten zu bekommen, dann wirft es Exception. Ich bin nicht sicher, wie kann ich von beiden folgenden verwenden Kombination:Groovy-Skript nicht STRING-Wert von einer NUMERISCHEN Zelle Ausnahme erhalten, wenn alphanumerischer Wert
log.info cell.getNumericCellValue()
log.info cell.getStringCellValue()
Dies ist, wie meine Excel-Daten wie folgt aussehen:
Column1 Column2
USA 1
CANADA 2
FRANCE 3
Nach meinem Code sind:
import org.apache.poi.xssf.usermodel.*
def fs = new FileInputStream("C:\\File\\Book2.xlsx")
def wb = new XSSFWorkbook(fs)
def ws = wb.getSheet("Sheet1")
def r = ws.getPhysicalNumberOfRows()
for(def i=0; i<r; i++){
def row = ws.getRow(i)
def c = row.getPhysicalNumberOfCells()
for (def j=0; j<c; j++) {
def cell = row.getCell(j)
log.info cell.getStringCellValue()
}
}
Als ich über Code laufen dann bin ich getting Folge Ausnahme, wenn mein Excel eine Spalte mit Alpha-Wert enthält und eine andere Spalte numerischen Wert hat:
java.lang.illegalStateException:Cannot get a STRING value from a NUMERIC cell
und wenn ich log.info cell.getStringCellValue()
-log.info cell.getNumericCellValue()
aktualisieren es folgende Ausnahme dann werfen: Ich ersetze
nur cell.getStringCellValue()
:
java.lang.illegalStateException:Cannot get a NUMERIC value from a STRING cell
Was passiert, [wenn Sie die Dokumentation auf dem Erhalten Zellenwerte lesen] (http://poi.apache.org/spreadsheet/quick-guide.html#CellContents) und prüfe den Zelltyp vor dem Holen? – Gagravarr
Nach dem Lesen der Dokumentation habe ich die zu verwendende Lösung toString() gefunden – Curious