Написать несколько записей в два столбца в Excel, используя Java - PullRequest
0 голосов
/ 11 октября 2019

У меня есть два столбца, а именно «Настройка» и «Запрос в Excel», необходимо написать несколько строк в Excel, используя java

public void WriteExcelValues() throws IOException {
String Ustr= setup.getText();
String urequest = request.getText();
    File file = new File(System.getProperty("user.dir") 
                            + "/src/main/uat/testdata/FreeTestData.xlsx");
    FileInputStream fis = new FileInputStream(file);
    Workbook workbook = new XSSFWorkbook(fis);
    Sheet sheet = workbook.getSheetAt(0);
    int lastRow = sheet.getLastRowNum();
    int n = 1;

    for (int i = 1; i <= n; i++) {   
        Row row = sheet.getRow(i); 
        Cell cell = row.createCell(8);
        Cell cell1 = row.createCell(9);

        cell.setCellValue(Ustr);
        cell1.setCellValue(urequest);
        //cell.setCellValue("AcknowledgementId"); 
    }

    FileOutputStream fos = new FileOutputStream(file);   
    workbook.write(fos);
    fos.close();
}

, например,

enter image description here

Приведенный выше код не является полным и также не удовлетворяет критериям.

Ответы [ 2 ]

1 голос
/ 11 октября 2019

File file = new File(System.getProperty("user.dir") 
                            + "/src/main/uat/testdata/FreeTestData.xlsx");

if(!file.exists())
{
    file.createNewFile();
}
else
{
    file.delete();
    file.createNewFile();
}

Workbook workbook = new XSSFWorkbook();

Sheet sheet = workbook.createSheet();

Row headerRow = sheet.createRow(0);

headerRow.createCell(0).setCellValue("Setupid");
headerRow.createCell(1).setCellValue("Request");

int cellCount = 10;

for (int i = 1; i <= cellCount; i++)
{

    Row row = sheet.createRow(i);

    row.createCell(0).setCellValue("cell " + i);
    row.createCell(1).setCellValue("cell " + i);

}

FileOutputStream fos = new FileOutputStream(file);

workbook.write(fos);

fos.close();

workbook.close();

0 голосов
/ 11 октября 2019

Я думаю, что ваш цикл не правильный

 for(int i=1; i<=n; i++){

Это должно быть

for(int i=1; i<=lastRow; i++){
...