Селен с Java сценарием - PullRequest
       8

Селен с Java сценарием

0 голосов
/ 29 апреля 2018

Я попытался записать динамический вывод суммы двух чисел в таблицу Excel, только последняя строка написана в Excel.

Я не уверен, что лист Excel закрывается без автосохранения и открывается снова для следующего ввода.

Я хотел бы знать, сохранить или автоматически сохранить javascript для использования при параметризации селена с отображением динамических значений, которые я выделяю.

Код ниже:

package addegexcelwrite1valuesfl;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class addegexcelwrite1valuesfladd {

    public int add(int a,int b,int u) {
        int c=a+b;
        int p;

        try {
            File src=new File("Filepath");
            FileInputStream fis=new FileInputStream(src);
            XSSFWorkbook wb=new XSSFWorkbook();

            XSSFSheet sh11= wb.createSheet();
            XSSFRow row=sh11.getRow(u);

            sh11.createRow(u).createCell(0).setCellValue(c);
            FileOutputStream fout=new FileOutputStream("Filepath");

            wb.write(fout);
        }
        catch (Exception e) {
            System.out.println(e.getMessage());
        }

        return c;
    }

}

a, b - ввод для добавления чисел, u - номер строки в Excel, из которого я пытаюсь прочитать и передать вводы a, b. Когда я передаю первый параметр, например, a = 1, b = 2, c сохраняется в ячейке (0,0), но в следующий раз, когда цикл запускается со следующим входом для a, b, предыдущее значение в ячейка (0,0) исчезает, также появляется только мое последнее значение ячейки.

1 Ответ

0 голосов
/ 30 апреля 2018

Я думаю, что вашей проблемой может быть использование sh11.createRow(u). Посмотрите, что написано в документации для этой функции (выделено мной):

Создайте новую строку на листе и верните высокоуровневое представление. Примечание: Если строка уже существует в этой позиции, она удаляется / перезаписывается и удаляется любая существующая ячейка!

Таким образом, вместо создания строки u вы можете получить последнюю строку, а затем создать строку последней + 1:

int lastRowNumber = sh11.getLastRowNum();
sh11.createRow(lastRowNumber + 1).createCell(0).setCellValue(c);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...