Как создать отчет 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.
- Использование Excel для создания скелета электронной таблицы
- Сохраните его как файл .xml
- Изменение структуры электронной таблицы XML путем вставки имен разделов CGIDEV2 и выходных переменных
- Скопируйте этот XML-скелет в каталог IFS
- Напишите 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, занимаясь программированием.
Комментарии
Отправить комментарий