#java #spring-boot #spring-batch
#java #spring-boot #spring-batch
Вопрос:
У меня есть пользовательский элемент записи для записи в XLSX с использованием JasperReports. Моя проблема в том, что, поскольку данные передаются элементом блока, файл просто перезаписывается последним элементом блока. Как я могу объединить каждый элемент в один список и передать список методу JasperReports? Или у вас есть какой-либо другой подход для этого.
public class CustomerReportWriter implements ItemWriter<Customer> {
@Autowired
GenerateReportService generateReportService;
@Override
public void write(List<? extends Customer> list) throws Exception {
// Merge List?
generateReportService.jasperReport(list);
}
}
Комментарии:
1. Поддерживает ли ваша
generateReportService
поддержка добавление элементов в отчет или для этого требуются все элементы сразу?2. Привет @MahmoudBenHassine, для этого требуется все сразу. Он не может быть добавлен.
3. В этом случае модель обработки блоков, вероятно, не лучший вариант. Если все ваши элементы могут храниться в памяти, вы можете добавить их в общую коллекцию внутри writer и сгенерировать отчет из этой коллекции в
StepExecutionListener#afterStep
методе.