2017-03-16 5 views
0

Dies ist der Code, den ich für das Schreiben von zwei Strings in eine Excel-Tabelle verwendet. Aber ich bin immer diese Fehlermeldung: java.lang.IllegalArgumentException: Sheet index (0) is out of range (no sheets)Kann nicht in Excel Blatt in selen webdriver schreiben

FileOutputStream fout=new FileOutputStream(new File("C:\\Users\\151680\\workspace\\trial.xlsx")); 
     XSSFWorkbook wb=new XSSFWorkbook(); 
     XSSFSheet sh1=wb.getSheetAt(0); 
     sh1.getRow(0).createCell(0).setCellValue("abc"); 
     sh1.getRow(0).createCell(1).setCellValue("def"); 
     wb.write(fout); 

Derzeit gibt es keine Arbeitsmappe trial.xlsx in dem angegebenen Pfad genannt wird. Wenn dieser Code ausgeführt wird, soll er die Arbeitsmappe richtig erstellen? Oder muss ich einen im Pfad erstellen und behalten? Was mache ich hier falsch?

Antwort

4

Kein Excelsheet wird erstellt, weil Sie die Ausnahme erhalten. Wenn Sie eine Excel-Tabelle erstellen möchten, haben Sie wb.createSheet() insteat von wb.getSheetAt(0);

FileOutputStream fout=new FileOutputStream(new File("C:\\Users\\151680\\workspace\\trial.xlsx")); 
     XSSFWorkbook wb=new XSSFWorkbook(); 
     XSSFSheet sh1=wb.createSheet(); 
     XSSFRow row = sh1.createtRow(0); 
     row.createCell(0).setCellValue("abc"); 
     row.createCell(1).setCellValue("def"); 
     wb.write(fout); 
     fout.close(); 
+1

ich mich verändert habe zu nennen meine Antwort haben Sie auch Zeile (0) zu erstellen, bevor Sie eine Zelle erstellen – Jens

Verwandte Themen