Я пытаюсь обновить существующий документ 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();
Код работает отлично, и у меня есть поля, определенные в файле, но проблема в том, что с текущим кодом все предыдущие данные удалены ... Я попытался сохранить данные, но безуспешно.
Можете ли вы сказать мне, как я могу сделать обновление документа без удаления предыдущих данных?