Java Excel файли (Apache POI),Блог Java програміста

Нотатки про програмування на Java та Scala, а також про UML, Android та не тільки…

@author: Віталій Лігай (Java EE Architect/Android Developer)

Java + Excel файли (Apache POI)

З періодичністю раз на два-три роки стикаюся з проектами, в яких знову потрібно працювати зExcel файлами. Напевно, це в мене щось кармічне. Зараз, вкотре доводиться реалізувати напівавтоматичний аналіз сотень excel-файлів з прайсами. У минулих своїх проектах використав JExcelApi. Нічого поганого про цю бібліотеку сказати не можу, але хочеться якогось розмаїття в житті, тому цього разу з товаришем вирішили спробувати Apache POI.

Apache POI підтримує як формат для звичайних*.xls файлів (HSSF) так і*.xlsx файли (XSSF).

До речі, формат для *.xls файли в Apache POI вони називають "HSSF - Horrible SpreadSheet Format", тобто "Вселяючий жах формат для електронних таблиць". Для того, щоб приступити до роботи, як зазвичай прописуємо залежності в pom.xml:

Наприклад, наведу дуже простий файл - список ПІБ, сума + Підсумок:

java

Якщо потрібно просто витягнути текст, можна використовувати "клас-звивач": ExcelExtractor

Висновок на консоль:

Коли цього недостатньо (наприклад, потрібно знайти потрібну комірку і т.д.), без проблем можна використовувати нормальне API: Приклад:

Висновок на консоль:

Звичайно якщо у вас не такі "рафіновані" приклади, то код буде набагато складнішим. Швидше за все вам доведеться робити ще один рівень API, заточений під ваші потреби або файли. Наприклад у мене товариш зробив для цих цілей: Парсер на Scala поверх Apache POI для аналізу Excel-файлів.