Чтение документа Excel 2007 без офиса, без ВК.

Вот пришлось вернуться к теме чтения из Excel, начатую в http://infostart.ru/public/19139

На это было три причины. Первая — прежняя функция слишком медленно работает на больших таблицах. Вторая — не преобразует числовое значение, которое хранится в excel вместо даты, в нормальную дату. Третья — имеет ограничения по колонкам в диапазоне A-Z. Выкладываю исправленную версию функции. Упаковано в файл шаблона. Для продвинутых в комментариях к функции дана дополнительная информация.

Функция умеет читать только файлы в формате .xlsx. Формат xls не читает! Возвращает таблицу значений, наименования колонок в которой совпадают с обозначением в Excel.

Вызов выглядит так: 

ОшибкаТекст = "";
НомерЛиста = 3;
НомерПервойСтроки = 2;
ИмяФайлаExcel = "d:importОстатки.xlsx";
тзОстатки = ПолучитьЛистEXCEL_XML(ИмяФайлаExcel, ОшибкаТекст, НомерЛиста, НомерПервойСтроки);
Для Каждого СтрОстатки Из тзОстатки Цикл
Значение1 = СтрОстатки.AD;   //здесь A - английскими буквами.
Значение2 = СтрОстатки.BF;   //здесь B - английскими буквами.
КонецЦикла;
Сообщить(ОшибкаТекст); 

3 Comments

  1. CagoBHuK

    Не залезал внутрь, но судя по тому, что читает только xlsx, могу предположить: раззиповать, а потом XSLT?

    Reply
  2. 13jaguar

    Все красиво написано, только как пользоваться скачанным файлом?

    Reply
  3. webstep

    Это обычный файл шаблонов. Подключаете его в 1С (см. картинку) и копируете из него функцию куда нужно.

    Reply

Leave a Comment

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