Обновление существующего документа Excel с помощью Apache POI через Groovy - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь обновить существующий документ Excel с помощью скрипта Groovy. Я пробовал с jxl, но файл всегда был поврежден, так как мне предложили попробовать с Apache POI. Я нашел код, который мне удалось настроить, который выглядит так:

FileOutputStream fileOut = new FileOutputStream("Path.xls");
            HSSFWorkbook workbook = new HSSFWorkbook();
            HSSFSheet worksheet = workbook.createSheet("POI Worksheet");

            // index from 0,0... cell A1 is cell(0,0)
            HSSFRow row1 = worksheet.createRow((short) 0);

            HSSFCell cellA1 = row1.createCell((short) 0);
            cellA1.setCellValue("Hello");
            HSSFCellStyle cellStyle = workbook.createCellStyle();
            cellStyle.setFillForegroundColor(HSSFColor.GOLD.index);
            cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
            cellA1.setCellStyle(cellStyle);

            HSSFCell cellB1 = row1.createCell((short) 1);
            cellB1.setCellValue("Goodbye");
            cellStyle = workbook.createCellStyle();
            cellStyle.setFillForegroundColor(HSSFColor.LIGHT_CORNFLOWER_BLUE.index);
            cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
            cellB1.setCellStyle(cellStyle);

            HSSFCell cellC1 = row1.createCell((short) 2);
            cellC1.setCellValue(true);

            HSSFCell cellD1 = row1.createCell((short) 3);
            cellD1.setCellValue(new Date());
            cellStyle = workbook.createCellStyle();
            cellStyle.setDataFormat(HSSFDataFormat
                    .getBuiltinFormat("m/d/yy h:mm"));
            cellD1.setCellStyle(cellStyle);

              fileOut.close();

            FileOutputStream outFile =new FileOutputStream(new File("Path.xls"));
            workbook.write(outFile);
            outFile.close();

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

Можете ли вы сказать мне, как я могу сделать обновление документа без удаления предыдущих данных?

...