JXL не записывает более 1 строки в файл XLS - PullRequest
0 голосов
/ 24 октября 2018

Я использую JAVA с JXL и пытаюсь записать результаты моей программы в файл XLS.

Код, который я написал, показан ниже.

Проблема Iсталкиваюсь с тем, что он записывает только первую строку данных в файле XLS.

Все остальные строки не записываются в файл.

Я успешно могу отобразить все записи вконсоль, а также в состоянии записать их в файл HTML.Таким образом, записи, которые не генерируются или неисправный цикл, здесь не проблема.

Может кто-нибудь помочь определить проблему и предоставить решение?

WritableWorkbook resultWorkbbook = null;
try {
    RESULT_FILE_LOCATION = resultlocation + "-Results-" + df.format(new Date()) + ".xls";
    resultWorkbbook = Workbook.createWorkbook(new File(RESULT_FILE_LOCATION));
    WritableSheet excelSheet = resultWorkbbook.createSheet("Sheet 1", 0);
    for (int i = 1; i < sheet.getRows(); i++) {
        //Some other operationshere.

        excelSheet.addCell(new Number(0, i, totalCases));
        excelSheet.addCell(new Label(1, i, testCase));
        excelSheet.addCell(new Label(2, i, requestURL));
        excelSheet.addCell(new Label(3, i, requestMethod));
        excelSheet.addCell(new Label(4, i, requestContentType));
        excelSheet.addCell(new Label(5, i, requestParameters));
        excelSheet.addCell(new Label(6, i, expectedMessage));
        excelSheet.addCell(new Label(7, i, responseStatusLine));
        excelSheet.addCell(new Label(8, i, headers));
        excelSheet.addCell(new Label(9, i, responsemsg));
        excelSheet.addCell(new Label(10, i, caseStatus));

        resultWorkbbook.write();
    }
} catch (WriteException e) {
    // TODO Auto-generated catch block
     e.printStackTrace();
}

1 Ответ

0 голосов
/ 18 января 2019

Похоже, вы поместили метод write (); в цикл.Он должен вызывать, если добавление ячеек сделано.Попробуйте переместить метод write (); за пределы цикла.

BONUS

Следуйте за ним с помощью close (); метод.

РЕДАКТИРОВАТЬ

Вот код:

WritableWorkbook resultWorkbbook = null;
try {
    RESULT_FILE_LOCATION = resultlocation + "-Results-" + df.format(new Date()) + ".xls";
    resultWorkbbook = Workbook.createWorkbook(new File(RESULT_FILE_LOCATION));
    WritableSheet excelSheet = resultWorkbbook.createSheet("Sheet 1", 0);
    for (int i = 1; i < sheet.getRows(); i++) {
        //Some other operationshere.

        excelSheet.addCell(new Number(0, i, totalCases));
        excelSheet.addCell(new Label(1, i, testCase));
        excelSheet.addCell(new Label(2, i, requestURL));
        excelSheet.addCell(new Label(3, i, requestMethod));
        excelSheet.addCell(new Label(4, i, requestContentType));
        excelSheet.addCell(new Label(5, i, requestParameters));
        excelSheet.addCell(new Label(6, i, expectedMessage));
        excelSheet.addCell(new Label(7, i, responseStatusLine));
        excelSheet.addCell(new Label(8, i, headers));
        excelSheet.addCell(new Label(9, i, responsemsg));
        excelSheet.addCell(new Label(10, i, caseStatus));
    }
    resultWorkbbook.write();
    resultWorkbbook.close();
} catch (WriteException e) {
    // TODO Auto-generated catch block
     e.printStackTrace();
}

Если это все еще не ясно или все еще не работает, у меня нетдругое решение для этого.

...