Я сейчас пытаюсь написать программу, которая может лучше организовать ваше рабочее время. Поэтому я использую Apache POI для создания файла Excel. Я уже относительно далеко, но в какой-то момент не могу продвинуться дальше. Моя проблема в том, что вы вводите часы в день, а программа записывает их в соответствующий файл Excel. Однако, если я хочу войти на следующий день, программа перезаписывает файл Excel, и предыдущий день удаляется. Итак, моя проблема в том, что я не знаю, как писать в строках внизу. Я уже пробовал FileInputStream, но на самом деле это не сработало, потому что я создаю новый файл каждый месяц.
Это мой код для создания и записи файла Excel.
public void speichern(ActionEvent event) throws Exception {
LocalDate localDate = date.getValue();
datum = String.valueOf(localDate);
do {
if(btnNextMon.isArmed()){
monClick++;
System.out.println(monClick);
}
if (btnSave.isArmed()){
saveClick++;
}
try {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Stundenabrechnung");
sheet.setDefaultColumnWidth(18);
Map<String, Object[]> data = new TreeMap<>();
data.put("1", new Object[]{"DATUM:", " INS. ABG. STUNDEN:", " ABGR. STUNDEN:", " BESCHREIBUNG:"});
data.put("2", new Object[]{datum, ergbnis + "0", LHabg.getText(), taBes.getText()});
Set<String> keyset = data.keySet();
int rownum = 0;
for (String key : keyset) {
XSSFRow row = sheet.createRow(rownum++);
Object[] objArr = data.get(key);
int cellnum = 0;
for (Object obj : objArr) {
XSSFCell cell = row.createCell(cellnum++);
CellStyle cellStyle = workbook.createCellStyle();
cellStyle.setAlignment(HorizontalAlignment.CENTER);
cellStyle.setVerticalAlignment(VerticalAlignment.TOP);
cell.setCellStyle(cellStyle);
if (obj instanceof String) {
cell.setCellValue((String) obj);
} else if (obj instanceof Integer) {
cell.setCellValue((Integer) obj);
}
}
}
FileOutputStream outputStream = new FileOutputStream("Stundenabrechnung" + monClick +".xlsx");
workbook.write(outputStream);
workbook.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("ExcelFile is created succsessfully");
}while (btnNextMon.isPressed());
}
спасибо за помощь :)