#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.