x4j-аналитическая динамическая сводная таблица

#java #excel #pivot-table

#java #excel #сводная таблица

Вопрос:

Я хочу сгенерировать книгу Excel с листом необработанных данных и создать сводную таблицу из этих данных.

Столбцы являются динамическими, что означает, что сводная таблица также является динамической. Поэтому я не могу использовать статический шаблон и обновлять его. Я наткнулся на пару коммерческих библиотек (SmartXLS и aspose.cells), которые могут это сделать.

Мой вопрос в том, является ли x4j-аналитическим (https://github.com/jbaliuka/x4j-analytic ) может обрабатывать динамическую сводную таблицу, т. Е. Определять строки / столбцы / поля данных во время выполнения, а не только из статического шаблона. Все примеры, похоже, предполагают, что она статична.

Есть ли какая-либо другая библиотека с открытым исходным кодом, которая может это сделать?

Комментарии:

1. На самом деле Excel поддерживает динамические столбцы в сводной таблице, просто используйте дополнительное поле и позвольте Excel форматировать его как столбцы

2. @jbaliuka Я знаю, что Excel поддерживает это, но apache poi этого не делает. Вы имеете в виду динамическое создание шаблона, а затем использование x4j?

3. Я думаю, что статический шаблон должен работать, если вы измените источник данных, чтобы возвращать все динамические поля в виде обычных значений в специальном статическом столбце.

4. @jbaliuka Я давно над этим не работал. Если у меня будет возможность попробовать это, я прокомментирую здесь. Спасибо за вашу помощь.

Ответ №1:

Я нашел патч для apache poi, на котором основан x4j-analytic, который добавляет / расширяет функциональность сводной таблицы. Это ссылка на исправление сводной таблицы poi

Я создал новый проект, добавив существующие классы, применил исправление сверху и сгенерировал заштрихованный jar, исключающий эти исправленные классы (maven-shade-plugin).

В качестве альтернативы получите исходный код apache poi и внесите свои изменения, но я предпочел плагин shaded.