2017-01-16 1 views
0

Ich habe ein Programm, wo ich eine Methode aufrufen, die XLS-Datei liest und zweite Spalte holt.Mehrere Werte der Zeichenfolge zu String-Array hinzufügen

public static String readExcel(String FileName) throws BiffException, 
      IOException, java.text.ParseException, InterruptedException { 

    String ss = null; 
    FileInputStream fs = new FileInputStream(FileName); 

    HSSFWorkbook workbook = null; 

    workbook = new HSSFWorkbook(fs); 

    // TO get the access to the sheet 
    HSSFSheet sh = workbook.getSheet("data"); 

    int rowCount = sh.getLastRowNum() - sh.getFirstRowNum(); 
    DataFormatter formatter = new DataFormatter(Locale.US); 
    for (int i = 0; i < rowCount; i++) { 

     Row row = sh.getRow(i); 

     // Create a loop to print cell values in a row 

     for (int j = 1; j < 2; j++) { 
      Cell alpha = row.getCell(j); 
      String Beta = formatter.formatCellValue(alpha); 
      String leftRemoved = Beta.substring(0); 
      String GammaRemove = leftRemoved.trim(); 
      dateStringList.add(GammaRemove); 
      // System.out.println(dateStringList); 

     } 

    } 
    System.out.println("The String contains" + dateStringList); 
    ArrayList<String> Beta = dateStringList; 
    String[] s1 = new String[256]; 
    for (int k = 1; k < dateStringList.size(); k++) { 
     String gamma = Beta.get(k); 
     StringBuilder sb = new StringBuilder(gamma); 
     sb.deleteCharAt(0); 
     System.out.println("The New String is" + sb); 
     // String ss1=sb.toString(); 
     // System.out.println("The String SS is" + ss); 
     ss = sb.toString(); 
     System.out.println("The String SS is" + ss); 
    } 
    fs.close(); 
    return ss; 

} 

Ich versuche, stringBuilder zu verwenden, um den führenden Abstand der Zeichenfolge der zweiten Spalte zu entfernen. Aber ich möchte alle diese Stringbuilder-Werte von dieser Methode abrufen und sie in einem String-Array speichern. was ich nicht tun kann, da es Typfehlpassfehler wirft.

Bitte schlagen Sie vor, wie ich alle Zeichenfolgenwerte von diesem StringBuilder abrufen und in Zeichenfolgenarray speichern kann.

Dank

+1

Wenn Sie nur führende/nachstehende Leerzeichen entfernen möchten, können Sie die '.trim()' Methode für eine Zeichenfolge aufrufen – Gikkman

+0

Wo in Ihrem Code erhalten Sie den Fehler? Wenn Sie nur das erste Zeichen in einem String löschen wollen, können Sie die Teilzeichenkette (sstring, 1) verwenden; – pringi

Antwort

4

Sie brauchen nicht String für sie zu verwenden. Sie können die Funktion trim() direkt mit Ihrer Zeichenfolge verwenden.

String gamma = Beta.get(k); 
gamma=gamma.trim(); 

Und Sie können sie dann direkt in einem Array speichern.

+0

Danke für Ihre Wiederholung. :) –

+0

Willkommen @Shahabazahmed, wenn dies Ihr Problem löst, bitte akzeptieren Sie die Antwort. –

Verwandte Themen