что означает "java.lang.StringIndexOutOfBoundsException: индекс строки вне диапазона: 68"? - PullRequest
0 голосов
/ 08 апреля 2019

Я получаю эту ошибку "java.lang.StringIndexOutOfBoundsException: String index out of range: 68", пока я использую книгу для получения рабочей книги листа | XL в пути к файлу.

Сначала я думал, что это как-то связано с хранением путей к файлам, но теперь благодаря приведенным ниже рекомендациям могу точно указать место, где выдается исключение. Исключение выдается из

Workbook wb = Workbook.getWorkbook(fs);

Полный код.

public void readxls() {

try{
String FilePath = "C:\\Users\\names\\Documents\\details.xls";
FileInputStream fs = new FileInputStream(FilePath);
Workbook wb = Workbook.getWorkbook(fs);

// TO get the access to the sheet
Sheet sh = wb.getSheet("Sheet1");

// To get the number of rows present in sheet
int totalNoOfRows = sh.getRows();

// To get the number of columns present in sheet
int totalNoOfCols = sh.getColumns();

for (int row = 1; row < totalNoOfRows; row++) {
System.out.println();



String a = sh.getCell(0, row).getContents();
String b = sh.getCell(1, row).getContents();
String c = sh.getCell(2, row).getContents();
String d = sh.getCell(3, row).getContents(); 
System.out.println("A= "+a+ "B=" +b+ "C=" +c+"D=" +d);
}}

catch (Exception e) {
System.out.println(e);
}}

Я хочу перебрать ячейки в листе XL и распечатать его.

1 Ответ

0 голосов
/ 08 апреля 2019

Используйте это

try{
   Workbook wb = Workbook.getWorkbook(new File("C:\\Users\\names\\Documents\\details.xls"));
} catch(Exception e){
   e.printStackTrace();
}

Вы должны использовать File вместо FileInputStream. И если произойдет какая-либо ошибка, вы увидите, что у вас ловит блок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...