tablereaderпакет
Пакет лежит в основном пуле хаба: короткой формы достаточно, если хаб прописан сервером пакетов в opm.cfg.
opm install tablereaderУстановка на opm младше 1.7.0
Легаси-флоу. Клиент младше 1.7.0 адрес пула в аргументе не разбирает: пул сначала прописывают сервером пакетов, и только потом ставят через него. На 1.7.0 и новее этот раздел не нужен — хватает команды из шапки страницы.
Добавьте пул сервером пакетов в opm.cfg. Порт продублирован в «Сервер»: у opm push поле «Порт» не читается.
{
"СервераПакетов": [
{
"Имя": "default",
"Сервер": "https://hub.1cdevelopers.ru",
"Порт": 443,
"ПутьНаСервере": "/api/v1/pools/default/download/",
"РесурсПубликацииПакетов": "/api/v1/pools/default/push",
"Приоритет": 1
}
]
}И ставьте пакет, указывая сервер:
opm install -m default tablereaderОписание
tablereader
Данная библиотека - Реализация объекта для чтения xlsx книг.
Позволяет читать таблицы в формате xlsx. Получать листы таблицы, получать данные ячеек, получать таблицу значений по диапазону ячеек.
Не нужны COM, не нужны офисы. xlsx разбирается в xml и парсится.
Установка
opm install tablereader
Подключение:
#Использовать tablereader
Описание и примеры
#Использовать tablereader
ПутьКТаблице = ОбъединитьПути(ТекущийСценарий().Каталог, "Книга1.xlsx");
Книга = Новый КнигаЭксель(ПутьКТаблице);
Книга.Прочитать();
// Получение сведений по листам. Вернет соответствие, где ключ - номер листа, значение - имя листа.
Листы = Книга.Листы();
// Получение листа по номеру (нумерация с 1)
Лист = Книга.ЛистПоНомеру(1);
// Получение листа по имени
Лист2 = Книга.ЛистПоИмени("Второй лист");
// Получение значения ячейки по адресу
Значение = Лист.ЗначениеЯчейкиПоАдресу("E1");
// Получение значения ячейки по координатам (нумерация строк и колонок с 1)
Значение = Лист.ЗначениеЯчейкиПоКоординатам(2,4);
// Получение таблицы значений по диапазону (Имена колонок генерируются Колонка1, Колонка2... КолонкаN)
ТЗ = Лист.ТаблицаПоДиапазону("A1:H5");
// Получение таблицы значений по координатам (Имена колонок генерируются Колонка1, Колонка2... КолонкаN)
ТЗ = Лист.ТаблицаПоКоординатам(1, 1, 5, 8);
// Получение таблицы значений из листа(Имена колонок генерируются Колонка1, Колонка2... КолонкаN)
ТЗ = Лист.Таблица();
// Получение высоты таблицы
Высота = Лист.Высота();
// Получение ширины таблицы
Ширина = Лист.Ширина();
// Получение номера первой заполненой строки
ПерваяСтрока = Лист.ПерваяСтрока();
// Получение номера первой заполненой колонки
ПерваяКолонка = Лист.ПерваяКолонка();
Уточнения
Могут быть нюансы c получением типа Дата, если столкнулись велком в ишузы
Никак не обрабатываю группировки строк\колонок и слияние ячеек. т.к. не было необходимости в текущих задачах