Как создать добавочный excelsheet с помощью java

Я хочу создать прилагаемый лист excel. Как у меня есть четыре столбца stream1 stream2 stream3 stream4

В первый раз я вставляю данные только в первый столбец (stream1) после этого я хочу, чтобы заполнить другие столбцы один за другим.

это код, который я использую:

 public void createFile(Jqueue stream1, Jqueue stream2, Jqueue stream3, Jqueue stream4) {
    try {

        String filename = "path";
        boolean alreadyExists = (new File(filename)).exists();

        HSSFRow rowhead = sheet1.createRow((short) 0);
        rowhead.createCell((short) 0).setCellValue("Stream 1");
        rowhead.createCell((short) 1).setCellValue("Stream 2");
        rowhead.createCell((short) 2).setCellValue("Stream 3");
        rowhead.createCell((short) 3).setCellValue("Stream 4");


        int i = 1;
        while (!stream1.isEmpty()) {
            String urlstream1 = "";
            String urlstream2 = "";
            String urlstream3 = "";
            String urlstream4 = "";
            HSSFRow row = sheet1.createRow((short) i);
            try {
                if (stream1.size() > 0) {
                    urlstream1 = stream1.dequeue().toString();
                }
            } catch (Exception ex) {
            }
            try {
                if (stream2.size() > 0) {
                    urlstream2 = stream2.dequeue().toString();
                }
            } catch (Exception ex) {
            }
            try {
                if (stream3.size() > 0) {
                    urlstream3 = stream3.dequeue().toString();
                }
            } catch (Exception ex) {
            }
            try {
                if (stream4.size() > 0) {
                    urlstream4 = stream4.dequeue().toString();
                }
            } catch (Exception ex) {
            }
            row.createCell((short) 0).setCellValue(urlstream1);
            row.createCell((short) 1).setCellValue(urlstream2);
            row.createCell((short) 2).setCellValue(urlstream3);
            row.createCell((short) 3).setCellValue(urlstream4);
            i++;
        }

        FileOutputStream fileOut = new FileOutputStream(filename);
        hwb.write(fileOut);
        fileOut.close();

Но это не добавочный код. его вставка данных по строкам.

спасибо в расширенном режиме.

Ответ 1

Я предполагаю, что небольшое изменение в вашем коде должно сделать это.

Попробуйте заменить

int я = 1;

со следующим:

int я = sheet1.getLastRowNum() + 1;

Вам также нужно будет немного изменить свою реализацию для чтения и записи файлов.