При итерации списка полей не отображаются jxls - PullRequest
0 голосов
/ 17 июня 2020

У меня есть класс

 @ToString
    @EqualsAndHashCode
    @NoArgsConstructor
    @AllArgsConstructor
    class Employee implements Serializable {
        private String name;
        private LocalDate birthDate;
        private Double payment;
        private Double bonus;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public LocalDate getBirthDate() {
            return birthDate;
        }

        public void setBirthDate(LocalDate birthDate) {
            this.birthDate = birthDate;
        }

        public Double getPayment() {
            return payment;
        }

        public void setPayment(Double payment) {
            this.payment = payment;
        }

        public Double getBonus() {
            return bonus;
        }

        public void setBonus(Double bonus) {
            this.bonus = bonus;
        }
    }

И пример шаблона, который я скачал из http://jxls.sourceforge.net/getting_started.html

введите здесь описание изображения

Мой код в сервисе

 InputStream inputStream = new FileInputStream("/home/maadin/object_collection_template.xls");

        List<Employee> employees = Arrays.asList(
                new Employee("first employee", LocalDate.of(2020, 10, 10), 100.00, 100.120),
                new Employee("second_employee", LocalDate.of(2020, 10, 11), 100.00, 1000.122)
        );

        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

        Context context = new Context();
        context.putVar("employees", employees);

        JxlsHelper jxlsHelper = JxlsHelper.getInstance();
        jxlsHelper.processTemplate(inputStream, outputStream, context);

        return this.toResource(outputStream);

и файл результатов

введите описание изображения здесь

Но если написать в шаблоне

введите описание изображения здесь

Результат

введите описание изображения здесь

1 Ответ

1 голос
/ 17 июня 2020

Вы должны заполнить все столбцы табличной части в шаблоне (ячейки A4: D4)

Ваш шаблон: OP's template

Обязательно устанавливается как: Working template

...