Оценка от Apache POI и JExcel Api - PullRequest
2 голосов
/ 29 июля 2011

Мне нужно создать рабочие книги Excel в Grails, Grails поддерживает как Apache POI, так и JExcel Api, но я бы хотел, чтобы вы рассказали мне о преимуществах и недостатках обоих.

Насколько я знаю, Apache POI - этобыстрее, чем JExcel Api, но у JExcel API есть самый дружественный код.

Пожалуйста, если вы расскажете мне о своем опыте.

Спасибо

Ответы [ 2 ]

3 голосов
/ 29 июля 2011

Пара различий:

  1. JExcel ограничен форматами Office 2003, тогда как POI поддерживает формат 2007/2010 (xlsx)
  2. Во многих случаях Jexcel намного меньшенехватка памяти, которая может быть фактором, если вам нужно манипулировать большими рабочими книгами
  3. Моделирование рабочей книги может быть различным, в зависимости от того, чего вы пытаетесь достичь, вы, вероятно, обнаружите, что она более естественна для ячейки JExcelориентация или более ориентированный на строки подход POI.

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

2 голосов
/ 04 августа 2011

Отличия:

  1. JExcel имеет лучшую документацию по API, благодаря которой вы можете легко найти учебные материалы в Интернете. С другой стороны, Apache POI не имеет хорошей документации по сравнению с JExcel, но у него есть очень хороший список рассылки / форум, где люди там дружелюбны и полезны.

  2. У вас возникнет проблема OutOfMemory при создании больших листов Excel 2003, поскольку оба API сбрасывают все данные в память перед созданием файла. Чтобы решить эту проблему, Apache POI предлагает новую реализацию под названием XSSF, которая позволяет создавать большие листы Excel 2007 без проблемы OutOfMemory. Это большое преимущество POI, и поэтому я выбираю POI вместо JExcel.

PS: Если вы заинтересованы в XSSF для создания большого файла .xlsx, поищите в Google «BigGridDemo.java».

...