К основному контенту

Как создать отчет Excel из IBMi

Отчеты Excel от IBMi

Отчетность требуется в любом приложении, будь то устаревшее приложение или любое другое приложение. Один из отчетных документов формируется в виде отчетов Excel. Клиенты/клиенты/пользователи любят просматривать отчеты в формате Excel, так как они могут легко выполнять фильтрацию и суммирование данных, если это необходимо в Excel. Итак, здесь, в этом посте, мы обсудим способы создания отчета Excel из системы IBMi.

КПИТОИМПФ:

Это встроенная команда в системе IBMi, которая может генерировать CSV-файл в расположении IFS. Этот файл IFS можно открыть в Excel. Но если вы хотите сделать заголовки жирными или добавить немного цвета, эта команда не дает возможности для какого-либо форматирования данных.

Below is an example of CPYTOIMPF command:
CPYTOIMPF 	FROMFILE(Lib_Name/File_Name) 
TOSTMF('/Home/csvFileName.csv') 
RCDDLM(*CRLF)

POI/HSSF:

POI — это набор JAVA-процедур для работы с офисными документами Microsoft. Это программное обеспечение с открытым исходным кодом. Для этого библиотеки HSSF и файлы JAR должны быть загружены и установлены на вашем компьютере IBMi. В библиотеках HSSF вы получите образцы кодов для создания отчетов Excel, которые можно использовать в качестве справочного материала. Вам не нужно изучать JAVA, чтобы использовать коды HSSF. Создатель (Скотт Клемент) уже обернул классы Java в процедуры RPGLE, которые могут быть легко использованы и понятны RPGers.Эти библиотеки HSSF предоставлены Скоттом Клементом, и вы можете получить более подробную информацию об этих библиотеках на его веб-сайте.

С помощью POI/HSSF можно легко выполнить форматирование. Мы можем выполнять фильтрацию, цвет текста, форматирование ячеек, создавать формулы, объединять ячейки, закреплять области, добавлять новые листы и многое другое форматирование.

Ниже приведен пример, взятый с веб-сайта HSSF.

XLCRTDEMO. РПГЛ

      * Demonstration of using POI to create a complex Excel workbook
      *
      * To compile:
      * Make sure you've already created HSSFR4. See the instructions
      * on that source member for details.
      *
      *>  ign: CRTPF DIVSALES SRCFILE(QDDSSRC)

Он может генерировать сложные электронные таблицы Excel с большим количеством форматирований.

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

КГИДЕВ2:

CGIDEV2 является бесплатным инструментом и в основном используется для взаимодействия программ RPG с веб-страницами, но его можно использовать для создания отчета Excel на IFS.

  1. Использование Excel для создания скелета электронной таблицы
  2. Сохраните его как файл .xml
  3. Изменение структуры электронной таблицы XML путем вставки имен разделов CGIDEV2 и выходных переменных
  4. Скопируйте этот XML-скелет в каталог IFS
  5. Напишите CGI-программу на основе CGIDEV2, которая
  • загружает скелетную электронную таблицу XML с помощью подпроцедуры GetHtmlIfs() или GetHtmlIfsMult()
  • заполняет выходные переменные и записывает соответствующие XML-разделы
  • записывает выходной буфер в файл потока с расширением .XLS

И все готово.

Создайте XML из RPG:

Отчет Excel может быть создан путем создания тегов XML-файлов из самой программы. Это создаст XML-файл, и когда он будет открыт, он откроется в Excel.

Создайте Excel и сгенерируйте XML-скелет.

Теперь в программе RPG создайте файл на IFS и пропишите все теги, похожие на XML-скелет. Для фактических данных мы можем получить данные из файлов и записать их в XML-файл.

В этом методе усилий по кодированию больше. Он сгенерирует файл Excel в старом формате Excel 2003 года. Также требуются некоторые знания XML.

ПРОДОЛЖЕНИЕ/ВЫПОЛНЕНИЕ:

Sequel/Execute — это сторонний инструмент. Он используется для создания отчета Excel в каталоге IFS непосредственно из файла базы данных. Ниже приведен пример создания отчета Excel из этой команды. Перед запуском команды инструмент должен быть установлен в системе IBMi.

SEQUEL/EXECUTE 
SQL('Select EmpId   ColHdg( "Emp ID" ),EmpNam   ColHdg("Name" ), 
EmpAge   ColHdg( "Age"),EmpExp   ColHdg( "Experience") From EmpFile') 
PCFMT(*XLS) 
TOSTMF('/Home/FileName.xls') 
REPLACE(*YES)

Эта команда также не может предоставить функциональные возможности для форматирования данных. Он может генерировать простые электронные таблицы Excel.

Заключение:

CSV-файлы удовлетворяют большинство требований пользователей. И если требуется какое-то форматирование, они могут выбрать другие методы, такие как HSSF, который медленный, но эффективный и может генерировать много форматирования Excel. HSSF CGIDEV2 - это бесплатные инструменты, которые можно использовать. Но если кто-то не хочет их устанавливать, он может использовать сторонние инструменты, такие как Sequel/Execute, или может использовать для генерации XML, занимаясь программированием.

Комментарии

Популярные сообщения из этого блога

Опробование GPT4All в Arch Linux

10 способов использовать генеративный ИИ для продвинутого SEO

Как настроить Atom как Python IDE?

Yandex.Metrika counter