powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / И опять Apache POI. Потоковое создание excel со слиянием ячеек и подытогами.
11 сообщений из 36, страница 2 из 2
И опять Apache POI. Потоковое создание excel со слиянием ячеек и подытогами.
    #39769775
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень понятно, в чем же смысл вопроса и в чем проблема

1) Первым делом я бы сделал простейший Test case и попытался бы оценить "прожорливость" POI XSSF и HSSF.

Тогда можно было бы "начальству", прямо сказать: а что Вы хотите, документ офигенно большой, нужно N Gb памяти, а у пользователей только M.

note: как я понимаю, XSSF для хранения в памяти использует XML DOM, т.ч. прожорливость объяснима
для HSSF в I-net'е есть рекомендации по reusing'у java объектов, что должно экономить память

2) Формировать документ в один проход через стриминг Но тут мы не видем кода программы. Зачем при формирование документа нужно "пройтись заново" совершенно не понятно.

Кроме того, остается технический вопрос. Т.к. я подозреваю, что для merge cell, все равно все ячейки которые собираемся merge нужно будет держать в "windows" (rows in memory). Если merge cell может быть на весь документ, то тогда тоже получим те же "яйца (куриные) но вид сбоку".

Test case нет, примера кода нет, что обсуждать, не очень понятно.

Лично я, например, Excel файл (XML) формирую на Oracle Forms вообще командами TEXT_IO.put_line() :-)
...
Рейтинг: 0 / 0
И опять Apache POI. Потоковое создание excel со слиянием ячеек и подытогами.
    #39769780
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
10 страниц спустя и пару месяцев - автор напишет либо jasper, либо yarg.
...
Рейтинг: 0 / 0
И опять Apache POI. Потоковое создание excel со слиянием ячеек и подытогами.
    #39769781
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndronovMVсо слиянием ячеек с одинаковыми значениями в колонках
....я не могу пройтись заново по ней (чтобы вычислить что слиять....

Например с помощью Oracle или PostgreSQL аналитики, вполне можно кол-во повторяющихся "одинаковые значения в колонках" посчитать на уровне SQL-запроса, без хранения данных в ОП.

с групиировками и подитогами - тем более, второй проход даром не требуется
...
Рейтинг: 0 / 0
И опять Apache POI. Потоковое создание excel со слиянием ячеек и подытогами.
    #39769796
AndronovMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,

автор2) Формировать документ в один проход через стриминг Но тут мы не видем кода программы. Зачем при формирование документа нужно "пройтись заново" совершенно не понятно.
Имелось ввиду что начало массива уже нет, т.к. он отправился на жд, а метод
Код: java
1.
sheet.addMergedRegion(rowFrom,rowTo,colFrom,colTo);


предполагает наличие строк указанных в аргументах.

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

авторНапример с помощью Oracle или PostgreSQL аналитики, вполне можно кол-во повторяющихся "одинаковые значения в колонках" посчитать на уровне SQL-запроса, без хранения данных в ОП.
Попытаюсь объяснить. В нашей компании есть программисты (разработчики), а есть что-то типа функциональных спецов, который знают SQL на примитивном уровне, знаю предметную область хорошо и не знаю программирование в целом. Так вот их задача написать SQL запрос, зарегать и настроить его в системе как выгрузка EXCEL. Никакие подсчеты или прочие технические вопросы они реализовывать через SQL не будут.

авторЛично я, например, Excel файл (XML) формирую на Oracle Forms вообще командами TEXT_IO.put_line() :-)
Да вот я тоже думаю как бы не пришлось через StringBuilder xml-ник строить и под видом xls его преподносить.
...
Рейтинг: 0 / 0
И опять Apache POI. Потоковое создание excel со слиянием ячеек и подытогами.
    #39769797
AndronovMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123AndronovMVУ вас есть реализация, хотя бы простейшая своего решения?
2. Хотя бы с jasper решением сравни нормально. У тебя скрин простейшего отчета.

Не понял

Petro123А мы типо не имеем право?
Дело не в этом
...
Рейтинг: 0 / 0
И опять Apache POI. Потоковое создание excel со слиянием ячеек и подытогами.
    #39769798
AndronovMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Petro123Решение чего?
Скопировать всю строку #2 с получением строки #3 и вторую заполнить ячейки?

Если не сложно прикрепи xls шаблон как ты это видишь.
А лучше код обработки этого файла.
Простейший, на одну-две колонки.
Просто для понимания тебя в целом.
...
Рейтинг: 0 / 0
И опять Apache POI. Потоковое создание excel со слиянием ячеек и подытогами.
    #39769800
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndronovMV....
Так вот их задача написать SQL запрос, зарегать и настроить его в системе как выгрузка EXCEL. Никакие подсчеты или прочие технические вопросы они реализовывать через SQL не будут.

Например Oracle поддерживает под-запросы (и есть даже фраза WITH и материализацию)

Т.ч. "обернуть" запрос в свой с нужной аналитикой, не проблема.

про другие базы не знаю

AndronovMV....
Имелось ввиду что начало массива уже нет, т.к. он отправился на жд, а метод
Код: java
1.
sheet.addMergedRegion(rowFrom,rowTo,colFrom,colTo);


предполагает наличие строк указанных в аргументах.
...

я об этом предполагал (((
ну что можно сказать - печалька. Если merge может быть большой, то большая печалька.

AndronovMVxml-ник строить и под видом xls его преподносить

Ну на мой взгляд, это не плохо.
XML spreadsheet - __стандартный__ и документированный формат для Excel-2007

IMHO & AFAIK
...
Рейтинг: 0 / 0
И опять Apache POI. Потоковое создание excel со слиянием ячеек и подытогами.
    #39769814
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndronovMVPetro123Хотя бы с jasper решением сравни нормально. У тебя скрин простейшего отчета.

Не понял
Если jasper, то в чем проблема?
В нем sql вогнал и группировки свойствами и подотчетами как обычно.
...
Рейтинг: 0 / 0
И опять Apache POI. Потоковое создание excel со слиянием ячеек и подытогами.
    #39769835
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndronovMVЕсли не сложно прикрепи xls шаблон как ты это видишь.вижу так:

https://habr.com/ru/post/422059/
Правда каюсь, что посмотрев POI я понял что он не умеет копировать строки с форматированием сразу.
Жаль.
А выше статья хабре очень интересный функционал с шаблонами.
...
Рейтинг: 0 / 0
И опять Apache POI. Потоковое создание excel со слиянием ячеек и подытогами.
    #39769915
AndronovMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Пасиб.
Я вообще с POI работал с чистыми значениями, без формул и не знаю можно так вообще.
Почитаю еще, как че придумаю напишу.
...
Рейтинг: 0 / 0
И опять Apache POI. Потоковое создание excel со слиянием ячеек и подытогами.
    #39770146
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndronovMV,

POI может в формулы Excel.
Только имена функция надо писать по английски, а не по русски (на русском не работают)
Но ИМХО, проще сразу из JasperReports генерит отчет в Excel (правда без формул)
...
Рейтинг: 0 / 0
11 сообщений из 36, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / И опять Apache POI. Потоковое создание excel со слиянием ячеек и подытогами.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]