Отдельные данные JXLS для размещения на нескольких листах Excel / вкладках Excel - PullRequest
0 голосов
/ 01 мая 2019

У меня есть следующий сгенерированный отчет, который использует шаблон Excel и JXLS.В настоящее время отчет находит всех носителей и перечисляет их на одном листе Excel.Я хотел бы, чтобы каждый перевозчик и его соответствующая информация были указаны на отдельном листе в той же книге Excel.Каков наилучший способ создания многолистовых отчетов?

    @RequestMapping(value = "/report/carrierDetailReport")
    public void carrierDetailReport(HttpServletResponse response){
        List<CarrierAppointment> carriers= carrierAppointmentRepository.findAll();
        try {
            response.addHeader("Content-disposition", "attachment; filename=CarrierDetailReport.xlsx");
            response.setContentType("application/vnd.ms-excel");
            InputStream is= new ClassPathResource("static/reports/CarrierDetailReport.xlsx").getInputStream();
            Context context= new Context();
            context.putVar("carriers", carriers);
            List sheetNames = new ArrayList();
            for(int i=0; i<carriers.size(); i++){
                CarrierAppointment carrierAppointment = (CarrierAppointment) carriers.get(i);
                sheetNames.add(carrierAppointment.getParentCompanyCarrier());
            }
            JxlsHelper.getInstance().processTemplate(is,response.getOutputStream(),context);
            response.flushBuffer();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

Я видел некоторую документацию, в которой говорится, что вы можете просто поместить multisheet = "sheetName" в вашем для каждого оператора JXLS, но я не смог заставить его работать.вот так:

jx:each(items="carriers" var="carrier" lastCell="X2" multisheet="sheetName")

Это ошибка, которую я получаю:

2019-04-30 14:22:20.634 ERROR 15148 --- [p-nio-60-exec-8] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause

java.lang.NullPointerException: null
	at org.jxls.command.SheetNameGenerator.generateCellRef(SheetNameGenerator.java:22) ~[jxls-2.4.3.jar:na]
...