На это было три причины. Первая — прежняя функция слишком медленно работает на больших таблицах. Вторая — не преобразует числовое значение, которое хранится в excel вместо даты, в нормальную дату. Третья — имеет ограничения по колонкам в диапазоне A-Z. Выкладываю исправленную версию функции. Упаковано в файл шаблона. Для продвинутых в комментариях к функции дана дополнительная информация.
Функция умеет читать только файлы в формате .xlsx. Формат xls не читает! Возвращает таблицу значений, наименования колонок в которой совпадают с обозначением в Excel.
Вызов выглядит так:
ОшибкаТекст = "";
НомерЛиста = 3;
НомерПервойСтроки = 2;
ИмяФайлаExcel = "d:importОстатки.xlsx";
тзОстатки = ПолучитьЛистEXCEL_XML(ИмяФайлаExcel, ОшибкаТекст, НомерЛиста, НомерПервойСтроки);
Для Каждого СтрОстатки Из тзОстатки Цикл
Значение1 = СтрОстатки.AD; //здесь A - английскими буквами.
Значение2 = СтрОстатки.BF; //здесь B - английскими буквами.
КонецЦикла;
Сообщить(ОшибкаТекст);
Не залезал внутрь, но судя по тому, что читает только xlsx, могу предположить: раззиповать, а потом XSLT?
Все красиво написано, только как пользоваться скачанным файлом?
Это обычный файл шаблонов. Подключаете его в 1С (см. картинку) и копируете из него функцию куда нужно.