Apache POI HSSF – как «приручить» Excel::Журнал СА 4.2017
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

 Читать далее...

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

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

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6237
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6944
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4230
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3015
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3811
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3827
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6323
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3174
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3466
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7283
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10649
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12370
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14005
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9130
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7084
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5393
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4620
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3431
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3164
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3405
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3029
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Apache POI HSSF – как «приручить» Excel

Архив номеров / 2017 / Выпуск №4 (173) / Apache POI HSSF – как «приручить» Excel

Рубрика: Администрирование /  Генерация отчетов   | Дополнительные материалы

Сергей Ильичев СЕРГЕЙ ИЛЬИЧЕВ, ГК «Лаборатория Интеллект», г. Тула, инженер-программист, sergil68@mail.ru

Apache POI HSSF – как «приручить» Excel

Не стоит недооценивать свободные генераторы отчетов. Библиотека с открытым исходным кодом Apache POI доказывает свою состоятельность

Постановка задачи

К теме генерации отчетов время от времени приходится обращаться практически каждому программисту и системному администратору. Получив очередное техзадание сделать отчет для информационной системы предприятия именно вMicrosoft Excel и имея некоторый опыт построения отчетов с помощью технологий, описанных в [1], решено было исследовать, какой из современных генераторов отчетов (желательно бесплатный) подошел бы для решения этой задачи. При этом совершенно не хотелось лезть в поднадоевшие механизмы OLE-DDE, привязываясь к одной из операционных систем.

Использование электронных таблиц для формирования отчетов – трюк давний и вполне оправданный. Во-первых, современные динамические таблицы – мощные программные комплексы, способные на математические вычисления вплоть до аппроксимации. Во-вторых, рабочие единицы в электронных таблицах – ячейки, строки, столбцы, – и с ними легко работать алгоритмически, например, используя циклы. И напоследок: подобные программы установлены практически налюбом персональном компьютере.

В процессе поиска информации заставил «потереть руки» в предвкушении чего-то интересного один проект – Apache POI, выпущенный под лицензией Apache License. Официальный сайт проекта, в котором, кстати, может принять участие любой желающий, – [2]. Аббревиатура POI (и другие – см. ниже) на титульной странице сайта никак не расшифровывается, однако в документации [3] даются некоторые разъяснения.

Согласно информации из документации эта Java-библиотека разделена на несколько пакетов: если необходимо прочитать или записать файл Excel (.xls), то можно использовать пакет HSSF, если нужно прочитать или записать файл OOXML Excel (.xlsx), можно использовать XSSF. Комбинированный интерфейс SS позволяет легко считывать и записывать все виды файлов Excel (.xls и .xlsx). Кроме того, существует специализированная реализация SXSSF, которая позволяет работать с очень большими Excel (.xlsx) файлами в памяти с оптимизацией.

С первого взгляда возможности HSSF с лихвой покрывали потребности нашего отчета. После анализа техзадания выполнение задачи было разбито на два этапа: 1-й этап – данные из информационной системы с помощью ее инструментов должны быть выгружены в текстовый файл с символами «#» в качестве разделителей такого вида:

Поле 1#Поле 2#Поле 3#Поле 4#Поле 5#Поле 6

Поле 1#Поле 2#Поле 3#Поле 4#Поле 5#Поле 6

Поле 1#Поле 2#Поле 3#Поле 4#Поле 5#Поле 6

Затем 2-й этап – файл должен подхватиться программой на Java и после обработки вывестись пользователю на экран уже в Excel. Подобные поэтапные решения применяются в так называемой лоскутной автоматизации, описаны в [1] идовольно часто применяются в информационных системах.

Целью статьи будет описание процесса создания программы на языке программирования Java для решения задач 2-го этапа, а именно открытие текстового файла с разделителями и формирование многостраничного отчета с помощью библиотеки POI, способного открыться в Microsoft Excel. Программировать будем в JDK 6 (Linux Mint 13 LTE, версия Java – OpenJDK 1.6), сама программа, что естественно для языка программирования Java, после компиляции должна выполняться и в Linux и в Windows.

Статью целиком читайте в журнале «Системный администратор», №4 за 2017 г. на страницах 30-33.

PDF-версию данного номера можно приобрести в нашем магазине.


  1. Java-отчет с помощью OpenOffice.org Writer – http://www.learn2prog.ru/ooo-report.
  2. Сайт проекта Apache POI – https://poi.apache.org.
  3. Страница документации Apache POI – https://poi.apache.org/apidocs/index.html.
  4. Страница загрузки (download) библиотеки – https://poi.apache.org/download.html#POI-3.15.
  5. Описание API-библиотеки для работы с электронными таблицами – https://poi.apache.org/spreadsheet/how-to.html.
  6. Интерфейс Font-библиотеки, поля и методы – https://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/Font.html.
  7. Устаревшие методы Apache POI – https://poi.apache.org/apidocs/deprecated-list.html.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru