Экспорт динамически сгенерированной таблицы в Excel - PullRequest
0 голосов
/ 12 декабря 2011

У меня есть Java-приложение, в котором отчеты генерируются динамически в форме таблиц.Мне нужно, чтобы на веб-странице была кнопка, с помощью которой можно было бы экспортировать таблицу в Excel.Таблица должна быть сохранена пользователем на стороне клиента.Как я могу достичь этой функциональности?Будет ли полезным API Apache POI?

Ответы [ 4 ]

1 голос
/ 09 декабря 2013

В то же время доступна библиотека на стороне клиента ( XLSX.js ). Может быть удобно, когда вы используете что-то вроде datatables с фильтрацией и упорядочением на стороне клиента.

1 голос
/ 12 декабря 2011

В прошлом я успешно использовал POI , но у него есть свои причуды.Лучший способ, которым я воспользовался, - это иметь на своем сервере файл-шаблон со всеми вашими форматированием, цветом и т. Д., А также копировать и заполнять его данными при экспорте.

Но если ваши данныепростая таблица, разделенная столбцами, и вы не слишком беспокоитесь о форматировании и типах данных, почему бы не экспортировать данные в виде простого текста?(Формат CSV) Это может быть открыто в Excel, и оно будет намного более эффективным с точки зрения скорости использования памяти при экспорте ваших данных.

Это также будет намного проще генерировать, вы можетеиспользуйте свой собственный генератор POJO, который будет намного проще тестировать.

Используйте POI только в том случае, если ваши пользователи ожидают выделенный формат даты или различие между ячейками типа Integer / Text.Или, если вам нужны динамически вычисляемые ячейки (с использованием формул). Если нет, вы можете экспортировать все как строки, и Excel найдет свой путь при открытии файла CSV.

0 голосов
/ 12 декабря 2011

Также рассмотрите возможность написания таблицы в формате HTML (Excel также может это прочитать, включая лучшее форматирование, чем CSV).

И, проверьте JExcelAPI, который, я думаю, действительно проще в использовании, чем POI.

0 голосов
/ 12 декабря 2011

Некоторые из моих коллег использовали POI API для экспорта действительно больших отчетов.Я думаю, что сейчас это лучший.

...