2016-04-20 11 views
0
Sheet sheet = w.getSheet(0); 
data = new String[sheet.getColumns()][sheet.getRows()]; 
data1 = new String[sheet.getColumns()][sheet.getRows()]; 
for (int j = 0; j <sheet.getColumns(); j++) 
{ 
    for (int i = 0; i < sheet.getRows(); i++) 
    { 
     Cell cell = sheet.getCell(j, i); 
     data[j][i] = cell.getContents(); 

     System.out.println(data[j][i]); 
     // System.out.println(cell.getContents()); 
    } System.out.println(); 
} 

Ich muss Summe des Arrays finden data[j][i], aber nicht in der Lage, seit seiner ein String.Wie konvertiert man den String-Wert einer Zelle in Excel in numerische um verschiedene Berechnungen durchzuführen?

Antwort

0

JXL hat eine Klasse NumberCell des getValue() Methode gibt ein Doppel genannt.

finden Sie in der Dokumentation here.

Also, wenn Sie Ihr Datenfeld ändern verdoppeln Sie ersetzen könnten:

Cell cell = sheet.getCell(j, i); 
data[j][i] = cell.getContents(); 

mit:

NumberCell cell = (NumberCell)sheet.getCell(j, i); 
data[j][i] = cell.getValue(); 

Und dann könnte man Berechnungen auf es tun.

Natürlich, wenn Sie den Wert kennen eine ganze Zahl sein, können Sie es entsprechend gegossen.

Beachten Sie, dass es am besten sein wird, die Art zuerst, z.B .:

if (sheet.getCell(j, i).getType() == CellType.NUMBER) 

zu überprüfen und wickeln Sie es mit try/catch, wenn nicht bekannt/nicht markiert Eingang zu konvertieren.