Класс-оболочка для считывания EXCEL-файлов

Считывание EXCEL во внутреннюю таблицу является задачей распространенной. Так же существует много способов ее решить, некоторые решения требуют много лишнего кода, некоторые не всегда удовлетворяют нужным требованиям. Как — то раз я наткнулся на статью посвященную этой задаче. Идея мне понравилась, я ее доработал с упором на простоту использования.

Если Вам не интересна реализация, то можно проскролить в конец статьи к исходникам и примерам использования.

Реализация

Набор методов у меня получился такой.

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

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

Либо после создания объекта воспользоваться методом SET_EXCEL_BIN

Второй способ, считать файл непосредственно с компьютера. Для этого существует метод READ_EXCEL

После того как мы получили наш файл, следующим шагом обязательно должен быть вызов метода PREPARE. В качестве входящего параметра он имеет I_SHEET_NUMBER. Это значение отвечает за то, какую страницу в EXCEL файле нам нужно считать. Параметре имеет тип integer. Соответственно нам нужно указать порядковый номер страницы — первая, вторая… и т.д.

Далее просто нужно получить содержимое страницы во внутреннюю таблицу при помощи метода GET_TABLE. Данный метод имеет входящий параметр i_handle_rows. Обычно в EXCEL файлах есть заголовки, этим параметром мы говорим сколько строк у нас выделено под заголовок, после считывания эти строки будут удалены. Если у нас нет заголовка, то ставим параметр как «0».

На этом процесс завершен, данные считанны.

Так же среди методов можно заметить статический метод ITAB_TO_XLSX. Этот метод делает обратный процесс. Превращает внутреннюю таблицу в excel файл. Более подробно об этом я писал в этой статье.

Способ использования

Код вызова представлен ниже. Соответственно структура внутренней таблицы должна совпадать со структурой файла.

Либо

На этом этапе, у Вас во внутренней таблице load будет содержимое страницы EXCEL файла. Для считывания нужно всего несколько строк, довольно удобно.

Исходный код класса-оболочки для считывания EXCEL файлов можно найти по ссылке.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *