У меня есть лист Excel, который содержит некоторые значения времени.Эти значения являются длительностями, отформатированными в строки.Когда я пытаюсь сделать сумму по этим значениям, я получаю 0 как результат, так как Excel не может делать суммы по строкам.Когда я нажимаю кнопку ввода в строке формул, она становится временем, поэтому сумма работает.Как изменить значение ячейки со строки на значение времени?У меня уже есть формат даты, настроенный как [hh:mm]
с DateFormat
. Я начинаю с количества времени, преобразованного в секунды, которое я конвертирую в Duration
Duration clockedDuration = Duration.ofSeconds(clockedSeconds)
Затем я форматирую Duration в строку, используя DurationFormatUtils
DurationFormatUtils.formatDuration(duration.toMillis(), "HH:mm", true)
Затем я устанавливаю значение ячейки для только что созданной строки
c.setCellValue(clockedDuration)
Затем я устанавливаю CellStyle
для того, у которого DataFormat
установлено как [hh]:mm
Наконец, я делаю сумму всех значений в этом конкретном столбце (в данном случае B)
c = r.createCell(i++)
c.setCellFormula("SUM(B2:B" + lastRow +")")
c.setCellType(Cell.CELL_TYPE_FORMULA)
Этоэто лист до того, как я нажму кнопку ввода по первому значению в строке (09:52)
Это лист после того, как янажмите кнопку ввода в строке формул